diff --git a/src/iec61850/inc_private/ied_server_private.h b/src/iec61850/inc_private/ied_server_private.h index 32bf68d2..a6308267 100644 --- a/src/iec61850/inc_private/ied_server_private.h +++ b/src/iec61850/inc_private/ied_server_private.h @@ -43,6 +43,10 @@ struct sIedServer LinkedList clientConnections; uint8_t writeAccessPolicies; +#if (CONFIG_IEC61850_REPORT_SERVICE == 1) + int reportBufferSize; +#endif + #if (CONFIG_MMS_THREADLESS_STACK != 1) Semaphore dataModelLock; #endif diff --git a/tools/model_generator/genconfig.jar b/tools/model_generator/genconfig.jar index f50b47c8..9aba4fc8 100644 Binary files a/tools/model_generator/genconfig.jar and b/tools/model_generator/genconfig.jar differ diff --git a/tools/model_generator/gendyncode.jar b/tools/model_generator/gendyncode.jar index ba2bd0fa..748799e0 100644 Binary files a/tools/model_generator/gendyncode.jar and b/tools/model_generator/gendyncode.jar differ diff --git a/tools/model_generator/genmodel.jar b/tools/model_generator/genmodel.jar index f7894e4e..a9bc584c 100644 Binary files a/tools/model_generator/genmodel.jar and b/tools/model_generator/genmodel.jar differ diff --git a/tools/model_generator/modelviewer.jar b/tools/model_generator/modelviewer.jar index 4c6360d5..42a2dcda 100644 Binary files a/tools/model_generator/modelviewer.jar and b/tools/model_generator/modelviewer.jar differ diff --git a/tools/model_generator/src/com/libiec61850/scl/model/DataModelValue.java b/tools/model_generator/src/com/libiec61850/scl/model/DataModelValue.java index 07980464..4efc1e38 100644 --- a/tools/model_generator/src/com/libiec61850/scl/model/DataModelValue.java +++ b/tools/model_generator/src/com/libiec61850/scl/model/DataModelValue.java @@ -102,35 +102,39 @@ public class DataModelValue { this.value = new Boolean(false); break; case FLOAT32: - - trimmedValue = value.trim(); - - if (trimmedValue != value) { - System.out.println("WARNING: value initializer contains leading or trailing whitespace"); - } - - if (trimmedValue.isEmpty()) - this.value = new Float(0); - else - this.value = new Float(trimmedValue); - break; + + trimmedValue = value.trim(); + + if (trimmedValue != value) { + System.out.println("WARNING: value initializer contains leading or trailing whitespace"); + } + + trimmedValue.replace(',', '.'); + + if (trimmedValue.isEmpty()) + this.value = new Float(0); + else + this.value = new Float(trimmedValue); + break; case FLOAT64: - - trimmedValue = value.trim(); - - if (trimmedValue != value) { - System.out.println("WARNING: value initializer contains leading or trailing whitespace"); - } - - if (trimmedValue.isEmpty()) - this.value = new Double(0); - else - this.value = new Double(trimmedValue); - break; + + trimmedValue = value.trim(); + + if (trimmedValue != value) { + System.out.println("WARNING: value initializer contains leading or trailing whitespace"); + } + + trimmedValue.replace(',', '.'); + + if (trimmedValue.isEmpty()) + this.value = new Double(0); + else + this.value = new Double(trimmedValue); + break; case UNICODE_STRING_255: - this.value = value; - break; - + this.value = value; + break; + case OCTET_STRING_64: try { this.value = Base64.getDecoder().decode(value);