From 99d48d27b2caab9ea609c8067a79342761009577 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sun, 21 Oct 2012 11:05:08 +0200 Subject: [PATCH] Extended mbus_data_variable_print to print out VIF/VIFE --- mbus/mbus-protocol.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/mbus/mbus-protocol.c b/mbus/mbus-protocol.c index e627091..dddebbe 100755 --- a/mbus/mbus-protocol.c +++ b/mbus/mbus-protocol.c @@ -3145,7 +3145,7 @@ mbus_data_variable_print(mbus_data_variable *data) { // DIF printf("DIF = %.2X\n", record->drh.dib.dif); - printf("DIF.Extension = %s\n", (record->drh.dib.dif & MBUS_DIB_DIF_EXTENSION_BIT) ? "Yes":"No"); + printf("DIF.Extension = %s\n", (record->drh.dib.dif & MBUS_DIB_DIF_EXTENSION_BIT) ? "Yes":"No"); printf("DIF.Function = %s\n", (record->drh.dib.dif & 0x30) ? "Minimum value" : "Instantaneous value" ); printf("DIF.Data = %.2X\n", record->drh.dib.dif & 0x0F); @@ -3180,6 +3180,22 @@ mbus_data_variable_print(mbus_data_variable *data) printf("DIFE[%zd].Data = %.2X\n", j, dife & 0x0F); } + // VIF + printf("VIF = %.2X\n", record->drh.vib.vif); + printf("VIF.Extension = %s\n", (record->drh.vib.vif & MBUS_DIB_VIF_EXTENSION_BIT) ? "Yes":"No"); + printf("VIF.Value = %.2X\n", record->drh.vib.vif & 0x7F); + + // VIFE + for (j = 0; j < record->drh.vib.nvife; j++) + { + u_char vife = record->drh.vib.vife[j]; + + printf("VIFE[%zd] = %.2X\n", j, vife); + printf("VIFE[%zd].Extension = %s\n", j, (vife & MBUS_DIB_VIF_EXTENSION_BIT) ? "Yes" : "No"); + printf("VIFE[%zd].Value = %.2X\n", j, vife & 0x7F); + } + + printf("\n"); } }