Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ Usage: linux-serial-test [OPTION]
-Z, --error-on-timeout Treat timeouts as errors
-n, --no-icount Do not request driver for counts of input serial line interrupts (TIOCGICOUNT)
-f, --flush-buffers Flush RX and TX buffers before starting
-g, --stats-start Print TIOCGICOUNT stats on script startup before sending or receiveing data
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haven't checked the code, but why -g? And do we actually need a short option for this? Seems to me like a debugging feature.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not have a specific reason for -g other than it being available. I considered the following which made more sense, but were unavailable -s, -S, -t, -T.

I am okay with it being only available as a long option. My main purpose for this is to be able to determine the difference in error counts during a test run, as currently it is a running total at then end and it is not clear if the counters were incremented during the test case, or a previous one.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should go in the similar way to --stats (AFAIU it exists only as long option).

```


Expand Down
9 changes: 9 additions & 0 deletions linux-serial-test.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ int _cl_tx_timeout_ms = 2000;
int _cl_error_on_timeout = 0;
int _cl_no_icount = 0;
int _cl_flush_buffers = 0;
int _cl_stats_start = 0;

// Module variables
unsigned char _write_count_value = 0;
Expand Down Expand Up @@ -325,6 +326,7 @@ static void display_help(void)
" -Z, --error-on-timeout Treat timeouts as errors\n"
" -n, --no-icount Do not request driver for counts of input serial line interrupts (TIOCGICOUNT)\n"
" -f, --flush-buffers Flush RX and TX buffers before starting\n"
" -g, --stats-start Print TIOCGICOUNT stats on script startup before sending or receiveing data\n"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonder if there is a better place so we can group options that are semantically bound to each other.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this makes sense it could be moved below or above the --stats option.

"\n"
);
}
Expand Down Expand Up @@ -369,6 +371,7 @@ static void process_options(int argc, char * argv[])
{"error-on-timeout", no_argument, 0, 'Z'},
{"no-icount", no_argument, 0, 'n'},
{"flush-buffers", no_argument, 0, 'f'},
{"stats-start", no_argument, 0, 'g'},
{0,0,0,0},
};

Expand Down Expand Up @@ -506,6 +509,9 @@ static void process_options(int argc, char * argv[])
case 'f':
_cl_flush_buffers = 1;
break;
case 'g':
_cl_stats_start = 1;
break;
}
}
}
Expand Down Expand Up @@ -792,6 +798,9 @@ int main(int argc, char * argv[])

set_modem_lines(_fd, _cl_loopback ? TIOCM_LOOP : 0, TIOCM_LOOP);

if(_cl_stats_start)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style issue (missing space).

dump_serial_port_stats();

if (_cl_single_byte >= 0) {
unsigned char data[2];
int bytes = 1;
Expand Down