diff --git a/plc4go/internal/s7/Reader.go b/plc4go/internal/s7/Reader.go index 895f9800686..b9fb7545ae3 100644 --- a/plc4go/internal/s7/Reader.go +++ b/plc4go/internal/s7/Reader.go @@ -240,7 +240,7 @@ func (m *Reader) ToPlc4xReadResponse(response readWriteModel.S7Message, readRequ responseCodes[tagName] = responseCode if responseCode == apiModel.PlcResponseCode_OK { ctxForModel := options.GetLoggerContextForModel(context.TODO(), m.log, options.WithPassLoggerToModel(m.passLogToModel)) - plcValue, err := readWriteModel.DataItemParse(ctxForModel, payloadItem.GetData(), tag.GetDataType().DataProtocolId(), int32(tag.GetNumElements())) + plcValue, err := parsePlcValue(ctxForModel, tag, payloadItem.GetData()) if err != nil { return nil, errors.Wrap(err, "Error parsing data item") } @@ -295,6 +295,11 @@ func encodeS7Address(tag apiModel.PlcTag) (readWriteModel.S7Address, error) { ), nil } +func parsePlcValue(ctx context.Context, tag PlcTag, data []byte) (apiValues.PlcValue, error) { + // TODO: port over + panic("not implemented yet") +} + // Helper to convert the return codes returned from the S7 into one of our standard func decodeResponseCode(dataTransportErrorCode readWriteModel.DataTransportErrorCode) apiModel.PlcResponseCode { switch dataTransportErrorCode { diff --git a/plc4go/internal/s7/Writer.go b/plc4go/internal/s7/Writer.go index ec718693378..57f7e2acc10 100644 --- a/plc4go/internal/s7/Writer.go +++ b/plc4go/internal/s7/Writer.go @@ -236,7 +236,7 @@ func serializePlcValue(tag apiModel.PlcTag, plcValue apiValues.PlcValue) (readWr if s7StringTag, ok := tag.(*PlcStringTag); ok { stringLength = s7StringTag.stringLength } - data, err := readWriteModel.DataItemSerialize(plcValue, s7Tag.GetDataType().DataProtocolId(), int32(stringLength)) + data, err := readWriteModel.DataItemSerialize(plcValue, s7Tag.GetDataType().DataProtocolId(), 0 /*TODO: port s7DriverContext.getControllerType()*/, int32(stringLength)) if err != nil { return nil, errors.Wrapf(err, "Error serializing tag item of type: '%v'", s7Tag.GetDataType()) }