You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2023/11/30 20:52:07 UTC

(plc4x) 03/04: fix: Fixed some issues with writing values in S7

This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/s7strings
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit a5e854dc489968c3b12f9b23ef362231f7a30aa3
Author: Christofer Dutz <cd...@apache.org>
AuthorDate: Thu Nov 30 21:51:15 2023 +0100

    fix: Fixed some issues with writing values in S7
---
 plc4c/generated-sources/s7/src/data_item.c           | 10 ++--------
 plc4c/generated-sources/s7/src/transport_size.c      | 11 +++++++----
 plc4go/protocols/s7/readwrite/model/TransportSize.go |  8 ++++----
 3 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/plc4c/generated-sources/s7/src/data_item.c b/plc4c/generated-sources/s7/src/data_item.c
index c0e09c4108..b02d7f210c 100644
--- a/plc4c/generated-sources/s7/src/data_item.c
+++ b/plc4c/generated-sources/s7/src/data_item.c
@@ -687,17 +687,11 @@ uint16_t plc4c_s7_read_write_data_item_length_in_bits(plc4x_spi_context ctx, plc
     } else     if(strcmp(dataProtocolId, "IEC61131_STRING") == 0) { /* STRING */
 
         // Manual Field (value)
-        {
-            char* _value = data_item->data.string_value;
-            lengthInBits += (plc4c_spi_evaluation_helper_str_len(_value)) + (2);
-        }
+        lengthInBits += (((stringLength) * (8))) + (16);
     } else     if(strcmp(dataProtocolId, "IEC61131_WSTRING") == 0) { /* STRING */
 
         // Manual Field (value)
-        {
-            char* _value = data_item->data.string_value;
-            lengthInBits += (((plc4c_spi_evaluation_helper_str_len(_value)) * (2))) + (2);
-        }
+        lengthInBits += (((stringLength) * (16))) + (32);
     } else     if(strcmp(dataProtocolId, "IEC61131_TIME") == 0) { /* TIME */
 
         // Simple field (milliseconds)
diff --git a/plc4c/generated-sources/s7/src/transport_size.c b/plc4c/generated-sources/s7/src/transport_size.c
index b681e48047..adffef17cc 100644
--- a/plc4c/generated-sources/s7/src/transport_size.c
+++ b/plc4c/generated-sources/s7/src/transport_size.c
@@ -1105,16 +1105,16 @@ plc4c_s7_read_write_data_transport_size plc4c_s7_read_write_transport_size_get_d
       return -1;
     }
     case plc4c_s7_read_write_transport_size_CHAR: { /* '0x10' */
-      return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
+      return plc4c_s7_read_write_data_transport_size_OCTET_STRING;
     }
     case plc4c_s7_read_write_transport_size_WCHAR: { /* '0x11' */
-      return -1;
+      return plc4c_s7_read_write_data_transport_size_OCTET_STRING;
     }
     case plc4c_s7_read_write_transport_size_STRING: { /* '0x12' */
-      return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
+      return plc4c_s7_read_write_data_transport_size_OCTET_STRING;
     }
     case plc4c_s7_read_write_transport_size_WSTRING: { /* '0x13' */
-      return -1;
+      return plc4c_s7_read_write_data_transport_size_OCTET_STRING;
     }
     case plc4c_s7_read_write_transport_size_TIME: { /* '0x14' */
       return -1;
@@ -1154,6 +1154,9 @@ plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size_get_first_
         case plc4c_s7_read_write_transport_size_INT: /* '0x06' */{
             return plc4c_s7_read_write_transport_size_INT;
         }
+        case plc4c_s7_read_write_transport_size_CHAR: /* '0x10' */{
+            return plc4c_s7_read_write_transport_size_CHAR;
+        }
         case plc4c_s7_read_write_transport_size_REAL: /* '0x0E' */{
             return plc4c_s7_read_write_transport_size_REAL;
         }
diff --git a/plc4go/protocols/s7/readwrite/model/TransportSize.go b/plc4go/protocols/s7/readwrite/model/TransportSize.go
index bae8674263..e3d65199f8 100644
--- a/plc4go/protocols/s7/readwrite/model/TransportSize.go
+++ b/plc4go/protocols/s7/readwrite/model/TransportSize.go
@@ -1154,19 +1154,19 @@ func (e TransportSize) DataTransportSize() DataTransportSize {
 		}
 	case 0x10:
 		{ /* '0x10' */
-			return DataTransportSize_BYTE_WORD_DWORD
+			return DataTransportSize_OCTET_STRING
 		}
 	case 0x11:
 		{ /* '0x11' */
-			return 0
+			return DataTransportSize_OCTET_STRING
 		}
 	case 0x12:
 		{ /* '0x12' */
-			return DataTransportSize_BYTE_WORD_DWORD
+			return DataTransportSize_OCTET_STRING
 		}
 	case 0x13:
 		{ /* '0x13' */
-			return 0
+			return DataTransportSize_OCTET_STRING
 		}
 	case 0x14:
 		{ /* '0x14' */