Add std_session_send_frame_begin/end helpers
This commit is contained in:
parent
55584d38dd
commit
b7602846fd
|
@ -940,6 +940,8 @@ SR_PRIV int std_serial_dev_acquisition_stop(struct sr_dev_inst *sdi);
|
|||
#endif
|
||||
SR_PRIV int std_session_send_df_header(const struct sr_dev_inst *sdi);
|
||||
SR_PRIV int std_session_send_df_end(const struct sr_dev_inst *sdi);
|
||||
SR_PRIV int std_session_send_frame_begin(const struct sr_dev_inst *sdi);
|
||||
SR_PRIV int std_session_send_frame_end(const struct sr_dev_inst *sdi);
|
||||
SR_PRIV int std_dev_clear_with_callback(const struct sr_dev_driver *driver,
|
||||
std_dev_clear_callback clear_private);
|
||||
SR_PRIV int std_dev_clear(const struct sr_dev_driver *driver);
|
||||
|
|
76
src/std.c
76
src/std.c
|
@ -230,6 +230,82 @@ SR_PRIV int std_session_send_df_end(const struct sr_dev_inst *sdi)
|
|||
return SR_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
* Standard API helper for sending an SR_DF_FRAME_BEGIN packet.
|
||||
*
|
||||
* This function can be used to simplify most drivers'
|
||||
* frame handling.
|
||||
*
|
||||
* @param[in] sdi The device instance to use. Must not be NULL.
|
||||
*
|
||||
* @retval SR_OK Success.
|
||||
* @retval SR_ERR_ARG Invalid argument.
|
||||
* @retval other Other error.
|
||||
*/
|
||||
SR_PRIV int std_session_send_frame_begin(const struct sr_dev_inst *sdi)
|
||||
{
|
||||
const char *prefix;
|
||||
int ret;
|
||||
struct sr_datafeed_packet packet;
|
||||
|
||||
if (!sdi) {
|
||||
sr_err("%s: Invalid argument.", __func__);
|
||||
return SR_ERR_ARG;
|
||||
}
|
||||
|
||||
prefix = (sdi->driver) ? sdi->driver->name : "unknown";
|
||||
|
||||
sr_dbg("%s: Sending SR_DF_FRAME_BEGIN packet.", prefix);
|
||||
|
||||
packet.type = SR_DF_FRAME_BEGIN;
|
||||
packet.payload = NULL;
|
||||
|
||||
if ((ret = sr_session_send(sdi, &packet)) < 0) {
|
||||
sr_err("%s: Failed to send SR_DF_FRAME_BEGIN packet: %d.", prefix, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
return SR_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
* Standard API helper for sending an SR_DF_FRAME_END packet.
|
||||
*
|
||||
* This function can be used to simplify most drivers'
|
||||
* frame handling.
|
||||
*
|
||||
* @param[in] sdi The device instance to use. Must not be NULL.
|
||||
*
|
||||
* @retval SR_OK Success.
|
||||
* @retval SR_ERR_ARG Invalid argument.
|
||||
* @retval other Other error.
|
||||
*/
|
||||
SR_PRIV int std_session_send_frame_end(const struct sr_dev_inst *sdi)
|
||||
{
|
||||
const char *prefix;
|
||||
int ret;
|
||||
struct sr_datafeed_packet packet;
|
||||
|
||||
if (!sdi) {
|
||||
sr_err("%s: Invalid argument.", __func__);
|
||||
return SR_ERR_ARG;
|
||||
}
|
||||
|
||||
prefix = (sdi->driver) ? sdi->driver->name : "unknown";
|
||||
|
||||
sr_dbg("%s: Sending SR_DF_FRAME_END packet.", prefix);
|
||||
|
||||
packet.type = SR_DF_FRAME_END;
|
||||
packet.payload = NULL;
|
||||
|
||||
if ((ret = sr_session_send(sdi, &packet)) < 0) {
|
||||
sr_err("%s: Failed to send SR_DF_FRAME_END packet: %d.", prefix, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
return SR_OK;
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBSERIALPORT
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue