fix: Addressed the last warnings building plc4c (Still errors in the language test)
diff --git a/code-generation/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/BaseFreemarkerLanguageTemplateHelper.java b/code-generation/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/BaseFreemarkerLanguageTemplateHelper.java
index 6593f68..b2e8dd6 100644
--- a/code-generation/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/BaseFreemarkerLanguageTemplateHelper.java
+++ b/code-generation/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/BaseFreemarkerLanguageTemplateHelper.java
@@ -300,15 +300,15 @@
return filteredEnumValues.values();
}
- public Collection<EnumValue> getEnumValuesForUniqueConstantValues(List<EnumValue> enumValues, String constantName) {
+ public Map<String, EnumValue> getEnumValuesForUniqueConstantValues(List<EnumValue> enumValues, String constantName) {
Map<String, EnumValue> filteredEnumValues = new TreeMap<>();
for (EnumValue enumValue : enumValues) {
String key = enumValue.getConstant(constantName).orElseThrow(() -> new FreemarkerException("No constant name " + constantName + " found in enum value" + enumValue));
- if (!filteredEnumValues.containsKey(key)) {
+ if(!"null".equalsIgnoreCase(key) && !filteredEnumValues.containsKey(key)) {
filteredEnumValues.put(key, enumValue);
}
}
- return filteredEnumValues.values();
+ return filteredEnumValues;
}
public SimpleTypeReference getEnumFieldSimpleTypeReference(NonSimpleTypeReference type, String fieldName) {
diff --git a/code-generation/language/c/src/main/java/org/apache/plc4x/language/c/CLanguageTemplateHelper.java b/code-generation/language/c/src/main/java/org/apache/plc4x/language/c/CLanguageTemplateHelper.java
index ef65388..5b62a8f 100644
--- a/code-generation/language/c/src/main/java/org/apache/plc4x/language/c/CLanguageTemplateHelper.java
+++ b/code-generation/language/c/src/main/java/org/apache/plc4x/language/c/CLanguageTemplateHelper.java
@@ -572,8 +572,16 @@
}
String encoding = ((StringLiteral) encodingTerm).getValue();
String length = Integer.toString(simpleTypeReference.getSizeInBits());
+ int numChars;
+ if("UTF-8".equalsIgnoreCase(encoding)) {
+ numChars = simpleTypeReference.getSizeInBits() / 8;
+ } else if("UTF-16".equalsIgnoreCase(encoding)) {
+ numChars = simpleTypeReference.getSizeInBits() / 16;
+ } else {
+ throw new FreemarkerException("Unsupported encoding " + encoding);
+ }
return "plc4c_spi_write_string(writeBuffer, " + length + ", \"" +
- encoding + "\", (const uint8_t*) " + fieldName + ")";
+ encoding + "\", (const uint8_t*) " + (numChars == 1 ? "&" : "") + fieldName + ")";
}
case VSTRING: {
final Term encodingTerm = field.getEncoding().orElse(new DefaultStringLiteral("UTF-8"));
diff --git a/code-generation/language/c/src/main/resources/templates/c/enum-template.c.ftlh b/code-generation/language/c/src/main/resources/templates/c/enum-template.c.ftlh
index 774980c..fc8ced7 100644
--- a/code-generation/language/c/src/main/resources/templates/c/enum-template.c.ftlh
+++ b/code-generation/language/c/src/main/resources/templates/c/enum-template.c.ftlh
@@ -157,38 +157,33 @@
${helper.getCTypeName(type.name)} ${helper.getCTypeName(type.name)}_get_first_enum_for_field_${helper.camelCaseToSnakeCase(constantName)}(${helper.getLanguageTypeNameForTypeReference(constantType)} value) {
<#assign uniqueEnumValues=helper.getEnumValuesForUniqueConstantValues(type.enumValues, constantName)>
<#if constantType.isStringTypeReference() || constantType.isVstringTypeReference()>
- <#list helper.getEnumValuesForUniqueConstantValues(type.enumValues, constantName) as enumValue>
+ <#list uniqueEnumValues?values as enumValue>
if (strcmp(value, ${helper.escapeEnumValue(constantType, enumValue.getConstant(constantName).orElseThrow())?no_esc}) == 0) {
return ${helper.getCTypeName(type.name)}_${enumValue.name};
}
</#list>
return (${helper.getCTypeName(type.name)}) 0;
<#elseif constantType.isBooleanTypeReference()>
- if (!value) {
- <#assign enumValue=uniqueEnumValues[0]>
- return ${helper.getCTypeName(type.name)}_${enumValue.name};
- } else {
- <#if uniqueEnumValues?size > 1>
- <#assign enumValue=uniqueEnumValues[1]>
- return ${helper.getCTypeName(type.name)}_${enumValue.name};
- <#else>
- return -1;
- </#if>
- }
+ <#list uniqueEnumValues as enumKey, enumValue>
+ if (value == ${enumKey}) {
+ return ${helper.getCTypeName(type.name)}_${enumValue.name};
+ }
+ </#list>
+ return -1;
<#else>
switch(value) {
- <#list uniqueEnumValues as enumValue>
+ <#list uniqueEnumValues as enumKey, enumValue>
<#if constantType.isSimpleTypeReference()>
- case ${helper.escapeEnumValue(constantType, enumValue.getConstant(constantName).orElseThrow())?no_esc}: {
+ case ${helper.escapeEnumValue(constantType, enumValue.getConstant(constantName).orElseThrow())?no_esc}: {
<#elseif constantType.isEnumTypeReference()>
- case ${helper.getCTypeName(type.name)}_${enumValue.name}: /* '${enumValue.value}' */{
+ case ${helper.getLanguageTypeNameForTypeReference(constantType)}_${enumKey}: {
</#if>
- return ${helper.getCTypeName(type.name)}_${enumValue.name};
- }
+ return ${helper.getCTypeName(type.name)}_${enumValue.name};
+ }
</#list>
- default: {
- return -1;
- }
+ default: {
+ return -1;
+ }
}
</#if>
}
diff --git a/plc4c/generated-sources/modbus/src/data_item.c b/plc4c/generated-sources/modbus/src/data_item.c
index 42c9224..241e4b1 100644
--- a/plc4c/generated-sources/modbus/src/data_item.c
+++ b/plc4c/generated-sources/modbus/src/data_item.c
@@ -828,7 +828,7 @@
} else if((dataType == plc4c_modbus_read_write_modbus_data_type_CHAR) && (numberOfValues == 1)) { /* CHAR */
// Simple field (value)
- _res = plc4c_spi_write_string(writeBuffer, 8, "UTF-8", (const uint8_t*) (*data_item)->data.char_value);
+ _res = plc4c_spi_write_string(writeBuffer, 8, "UTF-8", (const uint8_t*) &(*data_item)->data.char_value);
if(_res != OK) {
return _res;
}
@@ -838,7 +838,7 @@
} else if((dataType == plc4c_modbus_read_write_modbus_data_type_WCHAR) && (numberOfValues == 1)) { /* WCHAR */
// Simple field (value)
- _res = plc4c_spi_write_string(writeBuffer, 16, "UTF-16", (const uint8_t*) (*data_item)->data.wchar_value);
+ _res = plc4c_spi_write_string(writeBuffer, 16, "UTF-16", (const uint8_t*) &(*data_item)->data.wchar_value);
if(_res != OK) {
return _res;
}
diff --git a/plc4c/generated-sources/modbus/src/modbus_data_type.c b/plc4c/generated-sources/modbus/src/modbus_data_type.c
index c17b607..cec0ccc 100644
--- a/plc4c/generated-sources/modbus/src/modbus_data_type.c
+++ b/plc4c/generated-sources/modbus/src/modbus_data_type.c
@@ -329,21 +329,21 @@
plc4c_modbus_read_write_modbus_data_type plc4c_modbus_read_write_modbus_data_type_get_first_enum_for_field_data_type_size(uint8_t value) {
switch(value) {
- case 1: {
- return plc4c_modbus_read_write_modbus_data_type_CHAR;
- }
- case 2: {
- return plc4c_modbus_read_write_modbus_data_type_BOOL;
- }
- case 4: {
- return plc4c_modbus_read_write_modbus_data_type_DWORD;
- }
- case 8: {
- return plc4c_modbus_read_write_modbus_data_type_LWORD;
- }
- default: {
- return -1;
- }
+ case 1: {
+ return plc4c_modbus_read_write_modbus_data_type_CHAR;
+ }
+ case 2: {
+ return plc4c_modbus_read_write_modbus_data_type_BOOL;
+ }
+ case 4: {
+ return plc4c_modbus_read_write_modbus_data_type_DWORD;
+ }
+ case 8: {
+ return plc4c_modbus_read_write_modbus_data_type_LWORD;
+ }
+ default: {
+ return -1;
+ }
}
}
diff --git a/plc4c/generated-sources/plc4x/src/plc4x_value.c b/plc4c/generated-sources/plc4x/src/plc4x_value.c
index 1f0bc04..301b15b 100644
--- a/plc4c/generated-sources/plc4x/src/plc4x_value.c
+++ b/plc4c/generated-sources/plc4x/src/plc4x_value.c
@@ -440,14 +440,14 @@
} else if(valueType == plc4c_plc4x_read_write_plc4x_value_type_CHAR) { /* STRING */
// Simple field (value)
- _res = plc4c_spi_write_string(writeBuffer, 8, "UTF-8", (const uint8_t*) (*data_item)->data.string_value);
+ _res = plc4c_spi_write_string(writeBuffer, 8, "UTF-8", (const uint8_t*) &(*data_item)->data.string_value);
if(_res != OK) {
return _res;
}
} else if(valueType == plc4c_plc4x_read_write_plc4x_value_type_WCHAR) { /* STRING */
// Simple field (value)
- _res = plc4c_spi_write_string(writeBuffer, 16, "UTF-16", (const uint8_t*) (*data_item)->data.string_value);
+ _res = plc4c_spi_write_string(writeBuffer, 16, "UTF-16", (const uint8_t*) &(*data_item)->data.string_value);
if(_res != OK) {
return _res;
}
diff --git a/plc4c/generated-sources/s7/src/cotp_tpdu_size.c b/plc4c/generated-sources/s7/src/cotp_tpdu_size.c
index 3816cab..1a3f08d 100644
--- a/plc4c/generated-sources/s7/src/cotp_tpdu_size.c
+++ b/plc4c/generated-sources/s7/src/cotp_tpdu_size.c
@@ -149,30 +149,30 @@
plc4c_s7_read_write_cotp_tpdu_size plc4c_s7_read_write_cotp_tpdu_size_get_first_enum_for_field_size_in_bytes(uint16_t value) {
switch(value) {
- case 1024: {
- return plc4c_s7_read_write_cotp_tpdu_size_SIZE_1024;
- }
- case 128: {
- return plc4c_s7_read_write_cotp_tpdu_size_SIZE_128;
- }
- case 2048: {
- return plc4c_s7_read_write_cotp_tpdu_size_SIZE_2048;
- }
- case 256: {
- return plc4c_s7_read_write_cotp_tpdu_size_SIZE_256;
- }
- case 4096: {
- return plc4c_s7_read_write_cotp_tpdu_size_SIZE_4096;
- }
- case 512: {
- return plc4c_s7_read_write_cotp_tpdu_size_SIZE_512;
- }
- case 8192: {
- return plc4c_s7_read_write_cotp_tpdu_size_SIZE_8192;
- }
- default: {
- return -1;
- }
+ case 1024: {
+ return plc4c_s7_read_write_cotp_tpdu_size_SIZE_1024;
+ }
+ case 128: {
+ return plc4c_s7_read_write_cotp_tpdu_size_SIZE_128;
+ }
+ case 2048: {
+ return plc4c_s7_read_write_cotp_tpdu_size_SIZE_2048;
+ }
+ case 256: {
+ return plc4c_s7_read_write_cotp_tpdu_size_SIZE_256;
+ }
+ case 4096: {
+ return plc4c_s7_read_write_cotp_tpdu_size_SIZE_4096;
+ }
+ case 512: {
+ return plc4c_s7_read_write_cotp_tpdu_size_SIZE_512;
+ }
+ case 8192: {
+ return plc4c_s7_read_write_cotp_tpdu_size_SIZE_8192;
+ }
+ default: {
+ return -1;
+ }
}
}
diff --git a/plc4c/generated-sources/s7/src/data_item.c b/plc4c/generated-sources/s7/src/data_item.c
index 3401d9e..90d7490 100644
--- a/plc4c/generated-sources/s7/src/data_item.c
+++ b/plc4c/generated-sources/s7/src/data_item.c
@@ -593,14 +593,14 @@
} else if(strcmp(dataProtocolId, "IEC61131_CHAR") == 0) { /* CHAR */
// Simple field (value)
- _res = plc4c_spi_write_string(writeBuffer, 8, "UTF-8", (const uint8_t*) (*data_item)->data.char_value);
+ _res = plc4c_spi_write_string(writeBuffer, 8, "UTF-8", (const uint8_t*) &(*data_item)->data.char_value);
if(_res != OK) {
return _res;
}
} else if(strcmp(dataProtocolId, "IEC61131_WCHAR") == 0) { /* CHAR */
// Simple field (value)
- _res = plc4c_spi_write_string(writeBuffer, 16, "UTF-16", (const uint8_t*) (*data_item)->data.char_value);
+ _res = plc4c_spi_write_string(writeBuffer, 16, "UTF-16", (const uint8_t*) &(*data_item)->data.char_value);
if(_res != OK) {
return _res;
}
diff --git a/plc4c/generated-sources/s7/src/data_transport_size.c b/plc4c/generated-sources/s7/src/data_transport_size.c
index c5196e7..17fb3b9 100644
--- a/plc4c/generated-sources/s7/src/data_transport_size.c
+++ b/plc4c/generated-sources/s7/src/data_transport_size.c
@@ -148,11 +148,13 @@
}
plc4c_s7_read_write_data_transport_size plc4c_s7_read_write_data_transport_size_get_first_enum_for_field_size_in_bits(bool value) {
- if (!value) {
- return plc4c_s7_read_write_data_transport_size_NULL;
- } else {
- return plc4c_s7_read_write_data_transport_size_BIT;
- }
+ if (value == false) {
+ return plc4c_s7_read_write_data_transport_size_NULL;
+ }
+ if (value == true) {
+ return plc4c_s7_read_write_data_transport_size_BIT;
+ }
+ return -1;
}
uint16_t plc4c_s7_read_write_data_transport_size_length_in_bytes(plc4x_spi_context ctx, plc4c_s7_read_write_data_transport_size* _message) {
diff --git a/plc4c/generated-sources/s7/src/transport_size.c b/plc4c/generated-sources/s7/src/transport_size.c
index 6c839b9..59cb266 100644
--- a/plc4c/generated-sources/s7/src/transport_size.c
+++ b/plc4c/generated-sources/s7/src/transport_size.c
@@ -380,11 +380,13 @@
}
plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size_get_first_enum_for_field_supported__s7_300(bool value) {
- if (!value) {
- return plc4c_s7_read_write_transport_size_LWORD;
- } else {
- return plc4c_s7_read_write_transport_size_BOOL;
- }
+ if (value == false) {
+ return plc4c_s7_read_write_transport_size_LWORD;
+ }
+ if (value == true) {
+ return plc4c_s7_read_write_transport_size_BOOL;
+ }
+ return -1;
}
bool plc4c_s7_read_write_transport_size_get_supported__logo(plc4c_s7_read_write_transport_size value) {
@@ -492,11 +494,13 @@
}
plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size_get_first_enum_for_field_supported__logo(bool value) {
- if (!value) {
- return plc4c_s7_read_write_transport_size_LWORD;
- } else {
- return plc4c_s7_read_write_transport_size_BOOL;
- }
+ if (value == false) {
+ return plc4c_s7_read_write_transport_size_LWORD;
+ }
+ if (value == true) {
+ return plc4c_s7_read_write_transport_size_BOOL;
+ }
+ return -1;
}
uint8_t plc4c_s7_read_write_transport_size_get_code(plc4c_s7_read_write_transport_size value) {
@@ -605,45 +609,45 @@
plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size_get_first_enum_for_field_code(uint8_t value) {
switch(value) {
- case 0: {
- return plc4c_s7_read_write_transport_size_LWORD;
- }
- case 1: {
- return plc4c_s7_read_write_transport_size_BOOL;
- }
- case 2: {
- return plc4c_s7_read_write_transport_size_BYTE;
- }
- case 3: {
- return plc4c_s7_read_write_transport_size_CHAR;
- }
- case 4: {
- return plc4c_s7_read_write_transport_size_WORD;
- }
- case 5: {
- return plc4c_s7_read_write_transport_size_INT;
- }
- case 6: {
- return plc4c_s7_read_write_transport_size_DWORD;
- }
- case 7: {
- return plc4c_s7_read_write_transport_size_DINT;
- }
- case 8: {
- return plc4c_s7_read_write_transport_size_REAL;
- }
- case 10: {
- return plc4c_s7_read_write_transport_size_TOD;
- }
- case 19: {
- return plc4c_s7_read_write_transport_size_WCHAR;
- }
- case 28: {
- return plc4c_s7_read_write_transport_size_COUNTER;
- }
- default: {
- return -1;
- }
+ case 0: {
+ return plc4c_s7_read_write_transport_size_LWORD;
+ }
+ case 1: {
+ return plc4c_s7_read_write_transport_size_BOOL;
+ }
+ case 2: {
+ return plc4c_s7_read_write_transport_size_BYTE;
+ }
+ case 3: {
+ return plc4c_s7_read_write_transport_size_CHAR;
+ }
+ case 4: {
+ return plc4c_s7_read_write_transport_size_WORD;
+ }
+ case 5: {
+ return plc4c_s7_read_write_transport_size_INT;
+ }
+ case 6: {
+ return plc4c_s7_read_write_transport_size_DWORD;
+ }
+ case 7: {
+ return plc4c_s7_read_write_transport_size_DINT;
+ }
+ case 8: {
+ return plc4c_s7_read_write_transport_size_REAL;
+ }
+ case 10: {
+ return plc4c_s7_read_write_transport_size_TOD;
+ }
+ case 19: {
+ return plc4c_s7_read_write_transport_size_WCHAR;
+ }
+ case 28: {
+ return plc4c_s7_read_write_transport_size_COUNTER;
+ }
+ default: {
+ return -1;
+ }
}
}
@@ -753,24 +757,24 @@
plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size_get_first_enum_for_field_size_in_bytes(uint8_t value) {
switch(value) {
- case 1: {
- return plc4c_s7_read_write_transport_size_BOOL;
- }
- case 12: {
- return plc4c_s7_read_write_transport_size_DTL;
- }
- case 2: {
- return plc4c_s7_read_write_transport_size_WORD;
- }
- case 4: {
- return plc4c_s7_read_write_transport_size_DWORD;
- }
- case 8: {
- return plc4c_s7_read_write_transport_size_LWORD;
- }
- default: {
- return -1;
- }
+ case 1: {
+ return plc4c_s7_read_write_transport_size_BOOL;
+ }
+ case 12: {
+ return plc4c_s7_read_write_transport_size_DTL;
+ }
+ case 2: {
+ return plc4c_s7_read_write_transport_size_WORD;
+ }
+ case 4: {
+ return plc4c_s7_read_write_transport_size_DWORD;
+ }
+ case 8: {
+ return plc4c_s7_read_write_transport_size_LWORD;
+ }
+ default: {
+ return -1;
+ }
}
}
@@ -879,11 +883,13 @@
}
plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size_get_first_enum_for_field_supported__s7_400(bool value) {
- if (!value) {
- return plc4c_s7_read_write_transport_size_LWORD;
- } else {
- return plc4c_s7_read_write_transport_size_BOOL;
- }
+ if (value == false) {
+ return plc4c_s7_read_write_transport_size_LWORD;
+ }
+ if (value == true) {
+ return plc4c_s7_read_write_transport_size_BOOL;
+ }
+ return -1;
}
bool plc4c_s7_read_write_transport_size_get_supported__s7_1200(plc4c_s7_read_write_transport_size value) {
@@ -991,11 +997,13 @@
}
plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size_get_first_enum_for_field_supported__s7_1200(bool value) {
- if (!value) {
- return plc4c_s7_read_write_transport_size_LWORD;
- } else {
- return plc4c_s7_read_write_transport_size_BOOL;
- }
+ if (value == false) {
+ return plc4c_s7_read_write_transport_size_LWORD;
+ }
+ if (value == true) {
+ return plc4c_s7_read_write_transport_size_BOOL;
+ }
+ return -1;
}
uint8_t plc4c_s7_read_write_transport_size_get_short_name(plc4c_s7_read_write_transport_size value) {
@@ -1104,21 +1112,21 @@
plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size_get_first_enum_for_field_short_name(uint8_t value) {
switch(value) {
- case 'B': {
- return plc4c_s7_read_write_transport_size_BYTE;
- }
- case 'D': {
- return plc4c_s7_read_write_transport_size_DWORD;
- }
- case 'W': {
- return plc4c_s7_read_write_transport_size_WORD;
- }
- case 'X': {
- return plc4c_s7_read_write_transport_size_BOOL;
- }
- default: {
- return -1;
- }
+ case 'B': {
+ return plc4c_s7_read_write_transport_size_BYTE;
+ }
+ case 'D': {
+ return plc4c_s7_read_write_transport_size_DWORD;
+ }
+ case 'W': {
+ return plc4c_s7_read_write_transport_size_WORD;
+ }
+ case 'X': {
+ return plc4c_s7_read_write_transport_size_BOOL;
+ }
+ default: {
+ return -1;
+ }
}
}
@@ -1227,11 +1235,10 @@
}
plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size_get_first_enum_for_field_supported__s7_1500(bool value) {
- if (!value) {
- return plc4c_s7_read_write_transport_size_BOOL;
- } else {
- return -1;
- }
+ if (value == true) {
+ return plc4c_s7_read_write_transport_size_BOOL;
+ }
+ return -1;
}
plc4c_s7_read_write_data_transport_size plc4c_s7_read_write_transport_size_get_data_transport_size(plc4c_s7_read_write_transport_size value) {
@@ -1340,24 +1347,24 @@
plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size_get_first_enum_for_field_data_transport_size(plc4c_s7_read_write_data_transport_size value) {
switch(value) {
- case plc4c_s7_read_write_transport_size_BOOL: /* '0x01' */{
- return plc4c_s7_read_write_transport_size_BOOL;
- }
- case plc4c_s7_read_write_transport_size_BYTE: /* '0x02' */{
- return plc4c_s7_read_write_transport_size_BYTE;
- }
- case plc4c_s7_read_write_transport_size_INT: /* '0x06' */{
- return plc4c_s7_read_write_transport_size_INT;
- }
- case plc4c_s7_read_write_transport_size_COUNTER: /* '0x1C' */{
- return plc4c_s7_read_write_transport_size_COUNTER;
- }
- case plc4c_s7_read_write_transport_size_REAL: /* '0x0E' */{
- return plc4c_s7_read_write_transport_size_REAL;
- }
- default: {
- return -1;
- }
+ case plc4c_s7_read_write_data_transport_size_BIT: {
+ return plc4c_s7_read_write_transport_size_BOOL;
+ }
+ case plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD: {
+ return plc4c_s7_read_write_transport_size_BYTE;
+ }
+ case plc4c_s7_read_write_data_transport_size_INTEGER: {
+ return plc4c_s7_read_write_transport_size_INT;
+ }
+ case plc4c_s7_read_write_data_transport_size_OCTET_STRING: {
+ return plc4c_s7_read_write_transport_size_COUNTER;
+ }
+ case plc4c_s7_read_write_data_transport_size_REAL: {
+ return plc4c_s7_read_write_transport_size_REAL;
+ }
+ default: {
+ return -1;
+ }
}
}
@@ -1659,24 +1666,21 @@
plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size_get_first_enum_for_field_base_type(plc4c_s7_read_write_transport_size value) {
switch(value) {
- case plc4c_s7_read_write_transport_size_UINT: /* '0x07' */{
- return plc4c_s7_read_write_transport_size_UINT;
- }
- case plc4c_s7_read_write_transport_size_LREAL: /* '0x0F' */{
- return plc4c_s7_read_write_transport_size_LREAL;
- }
- case plc4c_s7_read_write_transport_size_LTIME: /* '0x16' */{
- return plc4c_s7_read_write_transport_size_LTIME;
- }
- case plc4c_s7_read_write_transport_size_DWORD: /* '0x04' */{
- return plc4c_s7_read_write_transport_size_DWORD;
- }
- case plc4c_s7_read_write_transport_size_BOOL: /* '0x01' */{
- return plc4c_s7_read_write_transport_size_BOOL;
- }
- default: {
- return -1;
- }
+ case plc4c_s7_read_write_transport_size_INT: {
+ return plc4c_s7_read_write_transport_size_UINT;
+ }
+ case plc4c_s7_read_write_transport_size_REAL: {
+ return plc4c_s7_read_write_transport_size_LREAL;
+ }
+ case plc4c_s7_read_write_transport_size_TIME: {
+ return plc4c_s7_read_write_transport_size_LTIME;
+ }
+ case plc4c_s7_read_write_transport_size_WORD: {
+ return plc4c_s7_read_write_transport_size_DWORD;
+ }
+ default: {
+ return -1;
+ }
}
}
diff --git a/protocols/s7/src/main/resources/protocols/s7/s7.mspec b/protocols/s7/src/main/resources/protocols/s7/s7.mspec
index 7d39b9c..45085a7 100644
--- a/protocols/s7/src/main/resources/protocols/s7/s7.mspec
+++ b/protocols/s7/src/main/resources/protocols/s7/s7.mspec
@@ -888,7 +888,7 @@
['0x0B' UDINT ['0x07' , 'D' , '4' , 'INT' , 'INTEGER' , 'IEC61131_UDINT' , 'false' , 'false' , 'true' , 'true' , 'true' ]]
['0x0C' LINT ['0x00' , 'X' , '8' , 'INT' , 'BYTE_WORD_DWORD' , 'IEC61131_LINT' , 'false' , 'false' , 'false' , 'true' , 'false' ]]
['0x0D' ULINT ['0x00' , 'X' , '8' , 'INT' , 'BYTE_WORD_DWORD' , 'IEC61131_ULINT' , 'false' , 'false' , 'false' , 'true' , 'false' ]]
- ['0x1C' COUNTER ['0x1C' , 'X' , '2' , 'null' , 'OCTET_STRING' , 'IEC61131_INT' , 'true' , 'true' , 'true' , 'true' , 'false' ]]
+ ['0x1C' COUNTER ['0x1C' , 'X' , '2' , 'null' , 'OCTET_STRING' , 'IEC61131_INT' , 'true' , 'true' , 'true' , 'true' , 'false' ]]
// Floating point values
['0x0E' REAL ['0x08' , 'D' , '4' , 'null' , 'REAL' , 'IEC61131_REAL' , 'true' , 'true' , 'true' , 'true' , 'true' ]]