X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=output%2Fanalog.c;h=7090d0feb42f49fd7134e17f47fcfeab9e5da3b0;hb=ba6383f85574e4e374a141ca88979db86fe2893d;hp=eec2efd4a61e861169e4d454443b244dafb856a0;hpb=bde4f4296d8d7a3653c93fc7034e6f7c019e1255;p=libsigrok.git diff --git a/output/analog.c b/output/analog.c index eec2efd4..7090d0fe 100644 --- a/output/analog.c +++ b/output/analog.c @@ -143,6 +143,27 @@ static void fancyprint(int unit, int mqflags, float value, GString *out) case SR_UNIT_DECIBEL_VOLT: si_printf(value, out, "dBV"); break; + case SR_UNIT_DECIBEL_SPL: + if (mqflags & SR_MQFLAG_SPL_FREQ_WEIGHT_A) + si_printf(value, out, "dB(A)"); + else if (mqflags & SR_MQFLAG_SPL_FREQ_WEIGHT_C) + si_printf(value, out, "dB(C)"); + else if (mqflags & SR_MQFLAG_SPL_FREQ_WEIGHT_Z) + si_printf(value, out, "dB(Z)"); + else + /* No frequency weighting, or non-standard "flat" */ + si_printf(value, out, "dB(SPL)"); + if (mqflags & SR_MQFLAG_SPL_TIME_WEIGHT_S) + g_string_append(out, " S"); + else if (mqflags & SR_MQFLAG_SPL_TIME_WEIGHT_F) + g_string_append(out, " F"); + if (mqflags & SR_MQFLAG_SPL_LAT) + g_string_append(out, " LAT"); + else if (mqflags & SR_MQFLAG_SPL_PCT_OVER_ALARM) + /* Not a standard function for SLMs, so this is + * a made-up notation. */ + g_string_append(out, " %oA"); + break; default: si_printf(value, out, ""); }