X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Flibsigrok-internal.h;h=22ef892b7d1fc5733678b920c3e9a69c5996021a;hb=b3df76683179cbb9559e1cad8efe0d10c02dacce;hp=e1cae55993cf67501e9466342752f751866992b5;hpb=da5286bfa5d2dad1e24b9c9442c9875332d84e64;p=libsigrok.git diff --git a/src/libsigrok-internal.h b/src/libsigrok-internal.h index e1cae559..22ef892b 100644 --- a/src/libsigrok-internal.h +++ b/src/libsigrok-internal.h @@ -2163,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 -----------------------------------------------------------------*/ @@ -2780,6 +2776,10 @@ 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_mq_unit(struct feed_queue_analog *q, + enum sr_mq mq, enum sr_mqflag mq_flag, enum sr_unit unit); +SR_API int feed_queue_analog_scale_offset(struct feed_queue_analog *q, + const struct sr_rational *scale, const struct sr_rational *offset); 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);