[vz-dev] vzlogger d0 auf Fritzbox. [Patch]
bernd.leibing at uni-ulm.de
bernd.leibing at uni-ulm.de
Fri Jul 20 23:26:38 CEST 2012
Eine zwischen zwei D0 Datentelegrammen vorhandene Leerzeile wird vom Parser
in der Funktion meter_read_d0 bisher nicht richtig erkannt und führt
immer noch
zu einem
"Something unexpected happened: meter_read_d0:279!"
Fehler. Folgender Patch behebt dies bei mir.
diff --git a/src/protocols/d0.c b/src/protocols/d0.c
index 52bb2bd..bf1ebdc 100644
--- a/src/protocols/d0.c
+++ b/src/protocols/d0.c
@@ -180,8 +180,10 @@ size_t meter_read_d0(meter_t *mtr, reading_t
rds[], size_t max_readings) {
else if (byte == '!') context = END; /* "!" is the identifier for
the END */
switch (context) {
case START: /* strip the initial "/" */
- byte_iterator = number_of_tuples = 0; /* start */
- context = VENDOR; /* set new context: START -> VENDOR */
+ if (byte != '\r' && byte != '\n') { /*allow extra new line at
the start */
+ byte_iterator = number_of_tuples = 0; /* start */
+ context = VENDOR; /* set new context: START -> VENDOR */
+ }
break;
case VENDOR: /* VENDOR has 3 Bytes */
Gruß
Bing
More information about the volkszaehler-dev
mailing list