]> sigrok.org Git - libsigrok.git/blobdiff - src/input/feed_queue.c
devantech-eth008: Initial driver skeleton.
[libsigrok.git] / src / input / feed_queue.c
index b25fa77affdc8b7f90731dafa62ed5ef6b6ab9ab..1647d8b0f2a6001a24cf2100ec5ff5aa6d38b024 100644 (file)
@@ -162,6 +162,45 @@ SR_API struct feed_queue_analog *feed_queue_analog_alloc(
        return q;
 }
 
+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)
+{
+       int ret;
+
+       if (!q)
+               return SR_ERR_ARG;
+
+       ret = feed_queue_analog_flush(q);
+       if (ret != SR_OK)
+               return ret;
+
+       q->meaning.mq = mq;
+       q->meaning.mqflags = mq_flag;
+       q->meaning.unit = unit;
+
+       return SR_OK;
+}
+
+SR_API int feed_queue_analog_scale_offset(struct feed_queue_analog *q,
+       const struct sr_rational *scale, const struct sr_rational *offset)
+{
+       int ret;
+
+       if (!q)
+               return SR_ERR_ARG;
+
+       ret = feed_queue_analog_flush(q);
+       if (ret != SR_OK)
+               return ret;
+
+       if (scale)
+               q->encoding.scale = *scale;
+       if (offset)
+               q->encoding.offset = *offset;
+
+       return SR_OK;
+}
+
 SR_API int feed_queue_analog_submit(struct feed_queue_analog *q,
        float data, size_t count)
 {