radioshack-dmm: (Trivial) Convenience fixes

While testing the new radioshack-dmm driver with pulseview, I found
a few inconvenients.

1. Print an info message when a port is probed, and when a device is
found. This makes it easy to tell if and where the driver is looking.

2. num_samples was not reset after the first aquisition, so the
second aquisition would quit right away. Reset num_samples at start
of a new aquisition.

3. There's no need to  open the serial port RW, so change O_RDWR to
O_RDONLY when opening the port.

These changes are too trivial to split into different patches.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
This commit is contained in:
Alexandru Gagniuc 2012-10-16 01:23:50 -05:00 committed by Uwe Hermann
parent 7b0a85c81c
commit be8dbf3ab2
1 changed files with 11 additions and 2 deletions

View File

@ -140,7 +140,7 @@ static GSList *rs_22_812_scan(const char *conn, const char *serialcomm)
size_t len;
char buf[128], *b;
if ((fd = serial_open(conn, O_RDWR|O_NONBLOCK)) == -1) {
if ((fd = serial_open(conn, O_RDONLY|O_NONBLOCK)) == -1) {
sr_err("radioshack-dmm: unable to open %s: %s",
conn, strerror(errno));
return NULL;
@ -150,6 +150,8 @@ static GSList *rs_22_812_scan(const char *conn, const char *serialcomm)
return NULL;
}
sr_info("radioshack-dmm: probing port %s readonly", conn);
drvc = di->priv;
b = buf;
retry = 0;
@ -196,6 +198,8 @@ static GSList *rs_22_812_scan(const char *conn, const char *serialcomm)
if (good_packets == 0)
continue;
sr_info("radioshack-dmm: found RS 22-812 on port %s", conn);
if (!(sdi = sr_dev_inst_new(0, SR_ST_INACTIVE, "Radioshack",
"22-812", "")))
return NULL;
@ -273,7 +277,7 @@ static int hw_dev_open(struct sr_dev_inst *sdi)
return SR_ERR_BUG;
}
devc->serial->fd = serial_open(devc->serial->port, O_RDWR | O_NONBLOCK);
devc->serial->fd = serial_open(devc->serial->port, O_RDONLY);
if (devc->serial->fd == -1) {
sr_err("radioshack-dmm: Couldn't open serial port '%s'.",
devc->serial->port);
@ -383,6 +387,11 @@ static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
devc->cb_data = cb_data;
/* Reset the number of samples to take. If we've already collected our
* quota, but we start a new session, and don't reset this, we'll just
* quit without aquiring any new samples */
devc->num_samples = 0;
/* Send header packet to the session bus. */
sr_dbg("radioshack-dmm: Sending SR_DF_HEADER.");
packet.type = SR_DF_HEADER;