From f492e97186521fb86aa9fad1af36928ad9921f72 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sun, 10 Jun 2012 19:19:46 +0200 Subject: [PATCH 1/3] Improved model mapping - added und fixed mapping --- mbus/mbus-protocol.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mbus/mbus-protocol.c b/mbus/mbus-protocol.c index af5118b..45df1be 100644 --- a/mbus/mbus-protocol.c +++ b/mbus/mbus-protocol.c @@ -788,6 +788,9 @@ mbus_data_product_name(mbus_data_variable_header *header) { switch (header->version) { + case 0x00: + strcpy(buff, ((header->medium == 0x06) ? "Engelmann WaterStar" : "Engelmann SensoStar 2")); + break; case 0x01: strcpy(buff,"Engelmann SensoStar 2C"); break; @@ -809,7 +812,7 @@ mbus_data_product_name(mbus_data_variable_header *header) { switch (header->version) { - case 0x02: + case 0x28: strcpy(buff,"ABB F95 Typ US770"); break; } From 2f5476c3a50b02288a4a451c43e70f77f4fabd8a Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sun, 10 Jun 2012 19:23:59 +0200 Subject: [PATCH 2/3] Removed sleep workaround --- bin/mbus-serial-scan-secondary.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/bin/mbus-serial-scan-secondary.c b/bin/mbus-serial-scan-secondary.c index 61be9af..92dc3d3 100644 --- a/bin/mbus-serial-scan-secondary.c +++ b/bin/mbus-serial-scan-secondary.c @@ -137,7 +137,6 @@ main(int argc, char **argv) } (void) mbus_recv_frame(handle, &reply); - sleep(1); frame->control = MBUS_CONTROL_MASK_SND_NKE | MBUS_CONTROL_MASK_DIR_M2S; frame->address = 0xFF; @@ -150,7 +149,6 @@ main(int argc, char **argv) } (void) mbus_recv_frame(handle, &reply); - sleep(1); mbus_scan_2nd_address_range(handle, 0, addr_mask); From 7c304b34a0cdb73cfca5bf259c6dc0883eaad9f3 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Mon, 11 Jun 2012 21:22:31 +0200 Subject: [PATCH 3/3] Always wait until complete frame has been transmitted --- mbus/mbus-serial.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mbus/mbus-serial.c b/mbus/mbus-serial.c index 71b90c2..7a1aa28 100644 --- a/mbus/mbus-serial.c +++ b/mbus/mbus-serial.c @@ -212,6 +212,11 @@ mbus_serial_send_frame(mbus_serial_handle *handle, mbus_frame *frame) fprintf(stderr, "%s: Failed to write frame to socket (ret = %d: %s)\n", __PRETTY_FUNCTION__, ret, strerror(errno)); return -1; } + + // + // wait until complete frame has been transmitted + // + tcdrain(handle->fd); return 0; }