This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/develop by this push:
new 97f95beef8 fix: Addressed the last warnings building plc4c (Still
errors in the language test)
97f95beef8 is described below
commit 97f95beef8ed862b008b2d2861daff1207568b4c
Author: Christofer Dutz <[email protected]>
AuthorDate: Fri Sep 19 00:44:57 2025 +0200
fix: Addressed the last warnings building plc4c (Still errors in the
language test)
---
.../BaseFreemarkerLanguageTemplateHelper.java | 6 +-
.../plc4x/language/c/CLanguageTemplateHelper.java | 10 +-
.../resources/templates/c/enum-template.c.ftlh | 35 ++-
plc4c/generated-sources/modbus/src/data_item.c | 4 +-
.../modbus/src/modbus_data_type.c | 30 +--
plc4c/generated-sources/plc4x/src/plc4x_value.c | 4 +-
plc4c/generated-sources/s7/src/cotp_tpdu_size.c | 48 ++--
plc4c/generated-sources/s7/src/data_item.c | 4 +-
.../generated-sources/s7/src/data_transport_size.c | 12 +-
plc4c/generated-sources/s7/src/transport_size.c | 270 +++++++++++----------
.../s7/src/main/resources/protocols/s7/s7.mspec | 2 +-
11 files changed, 217 insertions(+), 208 deletions(-)
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 6593f68443..b2e8dd64fe 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 @@ public abstract class
BaseFreemarkerLanguageTemplateHelper implements Freemarker
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 ef6538847b..5b62a8f989 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 @@ public class CLanguageTemplateHelper extends
BaseFreemarkerLanguageTemplateHelpe
}
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 774980c3ab..fc8ced785c 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.getLanguageTypeNameForTypeReference(constantType)} ${helper.getCTypeNam
${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 42c922437f..241e4b175c 100644
--- a/plc4c/generated-sources/modbus/src/data_item.c
+++ b/plc4c/generated-sources/modbus/src/data_item.c
@@ -828,7 +828,7 @@ plc4c_return_code
plc4c_modbus_read_write_data_item_serialize(plc4x_spi_context
} 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 @@ plc4c_return_code
plc4c_modbus_read_write_data_item_serialize(plc4x_spi_context
} 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 c17b6074f7..cec0ccc132 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 @@ uint8_t
plc4c_modbus_read_write_modbus_data_type_get_data_type_size(plc4c_modbus
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 1f0bc04a7b..301b15b6c1 100644
--- a/plc4c/generated-sources/plc4x/src/plc4x_value.c
+++ b/plc4c/generated-sources/plc4x/src/plc4x_value.c
@@ -440,14 +440,14 @@ plc4c_return_code
plc4c_plc4x_read_write_plc4x_value_serialize(plc4x_spi_context
} 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 3816cab30f..1a3f08dd95 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 @@ uint16_t
plc4c_s7_read_write_cotp_tpdu_size_get_size_in_bytes(plc4c_s7_read_writ
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 3401d9e5f5..90d7490ec4 100644
--- a/plc4c/generated-sources/s7/src/data_item.c
+++ b/plc4c/generated-sources/s7/src/data_item.c
@@ -593,14 +593,14 @@ plc4c_return_code
plc4c_s7_read_write_data_item_serialize(plc4x_spi_context ctx,
} 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 c5196e7827..17fb3b9ba9 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 @@ bool
plc4c_s7_read_write_data_transport_size_get_size_in_bits(plc4c_s7_read_writ
}
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 6c839b9d4f..59cb266caf 100644
--- a/plc4c/generated-sources/s7/src/transport_size.c
+++ b/plc4c/generated-sources/s7/src/transport_size.c
@@ -380,11 +380,13 @@ bool
plc4c_s7_read_write_transport_size_get_supported__s7_300(plc4c_s7_read_writ
}
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 @@ bool
plc4c_s7_read_write_transport_size_get_supported__logo(plc4c_s7_read_write_
}
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 @@ uint8_t
plc4c_s7_read_write_transport_size_get_code(plc4c_s7_read_write_transpor
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 @@ uint8_t
plc4c_s7_read_write_transport_size_get_size_in_bytes(plc4c_s7_read_write
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 @@ bool
plc4c_s7_read_write_transport_size_get_supported__s7_400(plc4c_s7_read_writ
}
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 @@ bool
plc4c_s7_read_write_transport_size_get_supported__s7_1200(plc4c_s7_read_wri
}
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 @@ uint8_t
plc4c_s7_read_write_transport_size_get_short_name(plc4c_s7_read_write_tr
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 @@ bool
plc4c_s7_read_write_transport_size_get_supported__s7_1500(plc4c_s7_read_wri
}
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_data_transport_size
plc4c_s7_read_write_transport_size_get_d
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_base_t
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 7d39b9cbc4..45085a7169 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' ]]