X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fbrymen-dmm%2Fprotocol.c;h=dff7b985bfe071a8c6f90af6e14719c8aff81fbe;hb=a4e435eb49c1fa30c31d5851b404001324cafe33;hp=4456568a110df68184eac7c37030c242c56d44ca;hpb=d9a7c349ed731f826b166c12f6d03dbd973cc0ec;p=libsigrok.git diff --git a/hardware/brymen-dmm/protocol.c b/hardware/brymen-dmm/protocol.c index 4456568a..dff7b985 100644 --- a/hardware/brymen-dmm/protocol.c +++ b/hardware/brymen-dmm/protocol.c @@ -19,10 +19,6 @@ #include "protocol.h" -/* parser.c */ -SR_PRIV int sr_brymen_parse(const uint8_t *buf, float *floatval, - struct sr_datafeed_analog *analog, void *info); - static void handle_packet(const uint8_t *buf, struct sr_dev_inst *sdi) { float floatval; @@ -35,10 +31,11 @@ static void handle_packet(const uint8_t *buf, struct sr_dev_inst *sdi) analog.num_samples = 1; analog.mq = -1; - sr_brymen_parse(buf, &floatval, &analog, NULL); + if (brymen_parse(buf, &floatval, &analog, NULL) != SR_OK) + return; analog.data = &floatval; - analog.probes = sdi->probes; + analog.channels = sdi->channels; if (analog.mq != -1) { /* Got a measurement. */ @@ -177,7 +174,7 @@ SR_PRIV int brymen_dmm_receive_data(int fd, int revents, void *cb_data) SR_PRIV int brymen_stream_detect(struct sr_serial_dev_inst *serial, uint8_t *buf, size_t *buflen, packet_length_t get_packet_size, - packet_valid_t is_valid, + packet_valid_callback is_valid, uint64_t timeout_ms, int baudrate) { int64_t start, time, byte_delay_us; @@ -186,8 +183,8 @@ SR_PRIV int brymen_stream_detect(struct sr_serial_dev_inst *serial, maxlen = *buflen; - sr_dbg("Detecting packets on FD %d (timeout = %" PRIu64 - "ms, baudrate = %d).", serial->fd, timeout_ms, baudrate); + sr_dbg("Detecting packets on %s (timeout = %" PRIu64 + "ms, baudrate = %d).", serial->port, timeout_ms, baudrate); /* Assume 8n1 transmission. That is 10 bits for every byte. */ byte_delay_us = 10 * (1000000 / baudrate);