#include "libsigrok.h"
#include "libsigrok-internal.h"
-/* Message logging helpers with subsystem-specific prefix string. */
-#define LOG_PREFIX "output/analog: "
-#define sr_log(l, s, args...) sr_log(l, LOG_PREFIX s, ## args)
-#define sr_spew(s, args...) sr_spew(LOG_PREFIX s, ## args)
-#define sr_dbg(s, args...) sr_dbg(LOG_PREFIX s, ## args)
-#define sr_info(s, args...) sr_info(LOG_PREFIX s, ## args)
-#define sr_warn(s, args...) sr_warn(LOG_PREFIX s, ## args)
-#define sr_err(s, args...) sr_err(LOG_PREFIX s, ## args)
+#define LOG_PREFIX "output/analog"
struct context {
int num_enabled_probes;
static int init(struct sr_output *o)
{
struct context *ctx;
- struct sr_probe *probe;
+ struct sr_channel *probe;
GSList *l;
sr_spew("Initializing output module.");
si_printf(value, out, "Hz");
break;
case SR_UNIT_PERCENTAGE:
- g_string_append_printf(out, "%f%%", value);
+ g_string_append_printf(out, "%f %%", value);
break;
case SR_UNIT_BOOLEAN:
if (value > 0)
case SR_UNIT_CONCENTRATION:
g_string_append_printf(out, "%f ppm", value * 1000000);
break;
+ case SR_UNIT_REVOLUTIONS_PER_MINUTE:
+ si_printf(value, out, "RPM");
+ break;
+ case SR_UNIT_VOLT_AMPERE:
+ si_printf(value, out, "VA");
+ break;
+ case SR_UNIT_WATT:
+ si_printf(value, out, "W");
+ break;
+ case SR_UNIT_WATT_HOUR:
+ si_printf(value, out, "Wh");
+ break;
default:
si_printf(value, out, "");
break;
g_string_append_printf(out, " AUTO");
if (mqflags & SR_MQFLAG_RELATIVE)
g_string_append_printf(out, " REL");
+ if (mqflags & SR_MQFLAG_AVG)
+ g_string_append_printf(out, " AVG");
g_string_append_c(out, '\n');
}
const struct sr_datafeed_packet *packet, GString **out)
{
const struct sr_datafeed_analog *analog;
- struct sr_probe *probe;
+ struct sr_channel *probe;
GSList *l;
const float *fdata;
int i, p;