X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Flascar-el-usb%2Fprotocol.c;h=fc24fbe77cd81780201ea786afdbc61d33a526f7;hb=b1e6eec6f5f792e3b17eb8a63dd2f08ba56ff0ac;hp=901b2525cb609420b67b927d9047c136bd97b582;hpb=5ba417591c92bce8a403b4bc73bb872e925b1e4a;p=libsigrok.git diff --git a/src/hardware/lascar-el-usb/protocol.c b/src/hardware/lascar-el-usb/protocol.c index 901b2525..fc24fbe7 100644 --- a/src/hardware/lascar-el-usb/protocol.c +++ b/src/hardware/lascar-el-usb/protocol.c @@ -398,6 +398,7 @@ static void lascar_el_usb_dispatch(struct sr_dev_inst *sdi, unsigned char *buf, devc = sdi->priv; + /* Note: digits/spec_digits will be overridden later. */ sr_analog_init(&analog, &encoding, &meaning, &spec, 0); samples = buflen / devc->sample_size; @@ -434,10 +435,15 @@ static void lascar_el_usb_dispatch(struct sr_dev_inst *sdi, unsigned char *buf, if (ch->enabled) { analog.meaning->channels = g_slist_append(NULL, ch); analog.meaning->mq = SR_MQ_TEMPERATURE; - if (devc->temp_unit == 1) + if (devc->temp_unit == 1) { analog.meaning->unit = SR_UNIT_FAHRENHEIT; - else + analog.encoding->digits = 0; + analog.spec->spec_digits = 0; + } else { analog.meaning->unit = SR_UNIT_CELSIUS; + analog.encoding->digits = 1; + analog.spec->spec_digits = 1; + } analog.data = (void *)temp; sr_session_send(sdi, &packet); g_slist_free(analog.meaning->channels); @@ -448,6 +454,8 @@ static void lascar_el_usb_dispatch(struct sr_dev_inst *sdi, unsigned char *buf, analog.meaning->channels = g_slist_append(NULL, ch); analog.meaning->mq = SR_MQ_RELATIVE_HUMIDITY; analog.meaning->unit = SR_UNIT_PERCENTAGE; + analog.encoding->digits = 1; + analog.spec->spec_digits = 1; analog.data = (void *)rh; sr_session_send(sdi, &packet); g_slist_free(analog.meaning->channels);