X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Flibsigrok-internal.h;h=61540ad1f096628b04183b615fa017145db4ed5c;hb=43e6f7a7798f579c97f34f77c586a4962a41c29a;hp=db74dcc27e515f04b364c9425b9c5b48a5cb7f9a;hpb=460c13346e628b510188aa5ada6179abcf178014;p=libsigrok.git diff --git a/src/libsigrok-internal.h b/src/libsigrok-internal.h index db74dcc2..61540ad1 100644 --- a/src/libsigrok-internal.h +++ b/src/libsigrok-internal.h @@ -2126,6 +2126,8 @@ SR_PRIV int ezusb_upload_firmware(struct sr_context *ctx, libusb_device *dev, /*--- usb.c -----------------------------------------------------------------*/ +SR_PRIV int sr_usb_split_conn(const char *conn, + uint16_t *vid, uint16_t *pid, uint8_t *bus, uint8_t *addr); #ifdef HAVE_LIBUSB_1_0 SR_PRIV GSList *sr_usb_find(libusb_context *usb_ctx, const char *conn); SR_PRIV int sr_usb_open(libusb_context *usb_ctx, struct sr_usb_dev_inst *usb); @@ -2161,52 +2163,48 @@ enum binary_value_type { /** Binary value specification */ struct binary_value_spec { - /** Offset into binary blob */ - size_t offset; - /** Data type to decode */ - enum binary_value_type type; - /** Scale factor to get native units */ - float scale; + size_t offset; /**!< Offset into binary blob */ + enum binary_value_type type; /**!< Data type to decode */ + float scale; /**!< Scale factor to native units */ }; /** Binary channel definition */ struct binary_analog_channel { - /** Channel name */ - const char *name; - /** Binary value in data stream */ - struct binary_value_spec spec; - /** Significant digits */ - int digits; - /** Measured quantity */ - enum sr_mq mq; - /** Measured unit */ - enum sr_unit unit; + const char *name; /**!< Channel name */ + struct binary_value_spec spec; /**!< Binary value in data stream */ + int digits; /**!< Significant digits */ + enum sr_mq mq; /**!< Measured quantity */ + enum sr_unit unit; /**!< Measured unit */ }; /** * Read extract a value from a binary blob. * - * @param out Pointer to output buffer. - * @param spec Binary value specification - * @param data Pointer to binary blob - * @param length Size of binary blob + * @param[out] out Pointer to output buffer (conversion result) + * @param[in] spec Binary value specification + * @param[in] data Pointer to binary input data + * @param[in] length Size of binary input data + * * @return SR_OK on success, SR_ERR_* error code on failure. */ -SR_PRIV int bv_get_value(float *out, const struct binary_value_spec *spec, const void *data, size_t length); +SR_PRIV int bv_get_value(float *out, const struct binary_value_spec *spec, + const void *data, size_t length); /** * Send an analog channel packet based on a binary analog channel * specification. * - * @param sdi Device instance - * @param ch Sigrok channel - * @param spec Channel specification - * @param data Pointer to binary blob - * @param length Size of binary blob + * @param[in] sdi Device instance + * @param[in] ch Sigrok channel + * @param[in] spec Channel specification + * @param[in] data Pointer to binary blob + * @param[in] length Size of binary blob + * * @return SR_OK on success, SR_ERR_* error code on failure. */ -SR_PRIV int bv_send_analog_channel(const struct sr_dev_inst *sdi, struct sr_channel *ch, - const struct binary_analog_channel *spec, const void *data, size_t length); +SR_PRIV int bv_send_analog_channel(const struct sr_dev_inst *sdi, + struct sr_channel *ch, const struct binary_analog_channel *spec, + const void *data, size_t length); /*--- crc.c -----------------------------------------------------------------*/ @@ -2778,6 +2776,9 @@ SR_API void feed_queue_logic_free(struct feed_queue_logic *q); SR_API struct feed_queue_analog *feed_queue_analog_alloc( const struct sr_dev_inst *sdi, size_t sample_count, int digits, struct sr_channel *ch); +SR_API int feed_queue_analog_params(struct feed_queue_analog *q, + float scale_factor, + enum sr_mq mq, enum sr_mqflag mq_flag, enum sr_unit unit); SR_API int feed_queue_analog_submit(struct feed_queue_analog *q, float data, size_t count); SR_API int feed_queue_analog_flush(struct feed_queue_analog *q);