std: Add std_serial_dev_open().
This commit is contained in:
parent
d43b090816
commit
23dc666166
|
@ -181,6 +181,7 @@ typedef void (*std_dev_clear_t)(void *priv);
|
|||
SR_PRIV int std_init(struct sr_context *sr_ctx, struct sr_dev_driver *di,
|
||||
const char *prefix);
|
||||
#ifdef HAVE_LIBSERIALPORT
|
||||
SR_PRIV int std_serial_dev_open(struct sr_dev_inst *sdi);
|
||||
SR_PRIV int std_serial_dev_acquisition_stop(struct sr_dev_inst *sdi,
|
||||
void *cb_data, dev_close_t dev_close_fn,
|
||||
struct sr_serial_dev_inst *serial, const char *prefix);
|
||||
|
|
26
std.c
26
std.c
|
@ -103,6 +103,32 @@ SR_PRIV int std_session_send_df_header(const struct sr_dev_inst *sdi,
|
|||
|
||||
#ifdef HAVE_LIBSERIALPORT
|
||||
|
||||
/*
|
||||
* Standard serial driver dev_open() helper.
|
||||
*
|
||||
* This function can be used to implement the dev_open() driver API
|
||||
* callback in drivers that use a serial port. The port is opened
|
||||
* with the SERIAL_RDWR and SERIAL_NONBLOCK flags.
|
||||
*
|
||||
* If the open succeeded, the status field of the given sdi is set
|
||||
* to SR_ST_ACTIVE.
|
||||
*
|
||||
* @retval SR_OK Success.
|
||||
* @retval SR_ERR Serial port open failed.
|
||||
*/
|
||||
SR_PRIV int std_serial_dev_open(struct sr_dev_inst *sdi)
|
||||
{
|
||||
struct sr_serial_dev_inst *serial;
|
||||
|
||||
serial = sdi->conn;
|
||||
if (serial_open(serial, SERIAL_RDWR | SERIAL_NONBLOCK) != SR_OK)
|
||||
return SR_ERR;
|
||||
|
||||
sdi->status = SR_ST_ACTIVE;
|
||||
|
||||
return SR_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* Standard sr_session_stop() API helper.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue