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 2022/08/24 16:12:20 UTC
[plc4x] 11/12: chore(plc4go/ads): Updated go code for ADS
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch feature/ads-symbol-discovery
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 513fa67186b32273be4a5981c0107b313475b310
Author: Christofer Dutz <ch...@rivian.com>
AuthorDate: Wed Aug 24 18:11:17 2022 +0200
chore(plc4go/ads): Updated go code for ADS
---
plc4go/protocols/ads/readwrite/ParserHelper.go | 7 +-
plc4go/protocols/ads/readwrite/XmlParserHelper.go | 5 +-
.../protocols/ads/readwrite/model/AdsDataType.go | 92 +++---
plc4go/protocols/ads/readwrite/model/DataItem.go | 104 +++---
.../protocols/ads/readwrite/model/PlcValueType.go | 361 +++++++++++++++++++++
.../ads/readwrite/model/ReservedIndexGroups.go | 88 +++--
6 files changed, 519 insertions(+), 138 deletions(-)
diff --git a/plc4go/protocols/ads/readwrite/ParserHelper.go b/plc4go/protocols/ads/readwrite/ParserHelper.go
index 886924168..1e0a3a4f1 100644
--- a/plc4go/protocols/ads/readwrite/ParserHelper.go
+++ b/plc4go/protocols/ads/readwrite/ParserHelper.go
@@ -35,15 +35,12 @@ func (m AdsParserHelper) Parse(typeName string, arguments []string, io utils.Rea
case "AmsSerialFrame":
return model.AmsSerialFrameParse(io)
case "DataItem":
- dataFormatName, err := utils.StrToString(arguments[0])
- if err != nil {
- return nil, errors.Wrap(err, "Error parsing")
- }
+ plcValueType, _ := model.PlcValueTypeByName(arguments[0])
stringLength, err := utils.StrToInt32(arguments[1])
if err != nil {
return nil, errors.Wrap(err, "Error parsing")
}
- return model.DataItemParse(io, dataFormatName, stringLength)
+ return model.DataItemParse(io, plcValueType, stringLength)
case "AdsTableSizes":
return model.AdsTableSizesParse(io)
case "AdsMultiRequestItem":
diff --git a/plc4go/protocols/ads/readwrite/XmlParserHelper.go b/plc4go/protocols/ads/readwrite/XmlParserHelper.go
index 39125b2e7..06b1eb683 100644
--- a/plc4go/protocols/ads/readwrite/XmlParserHelper.go
+++ b/plc4go/protocols/ads/readwrite/XmlParserHelper.go
@@ -45,14 +45,13 @@ func (m AdsXmlParserHelper) Parse(typeName string, xmlString string, parserArgum
case "AmsSerialFrame":
return model.AmsSerialFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
case "DataItem":
- // TODO: find a way to parse the sub types
- var dataFormatName string
+ plcValueType, _ := model.PlcValueTypeByName(parserArguments[0])
parsedInt1, err := strconv.ParseInt(parserArguments[1], 10, 32)
if err != nil {
return nil, err
}
stringLength := int32(parsedInt1)
- return model.DataItemParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), dataFormatName, stringLength)
+ return model.DataItemParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), plcValueType, stringLength)
case "AdsTableSizes":
return model.AdsTableSizesParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
case "AdsMultiRequestItem":
diff --git a/plc4go/protocols/ads/readwrite/model/AdsDataType.go b/plc4go/protocols/ads/readwrite/model/AdsDataType.go
index 99d9680ee..6918b275c 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsDataType.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsDataType.go
@@ -32,7 +32,7 @@ type AdsDataType int8
type IAdsDataType interface {
NumBytes() uint16
- DataFormatName() string
+ PlcValueType() PlcValueType
Serialize(writeBuffer utils.WriteBuffer) error
}
@@ -305,182 +305,182 @@ func AdsDataTypeFirstEnumForFieldNumBytes(value uint16) (AdsDataType, error) {
return 0, errors.Errorf("enum for %v describing NumBytes not found", value)
}
-func (e AdsDataType) DataFormatName() string {
+func (e AdsDataType) PlcValueType() PlcValueType {
switch e {
case 0x01:
{ /* '0x01' */
- return "IEC61131_BOOL"
+ return PlcValueType_BOOL
}
case 0x02:
{ /* '0x02' */
- return "IEC61131_BOOL"
+ return PlcValueType_BOOL
}
case 0x03:
{ /* '0x03' */
- return "IEC61131_BYTE"
+ return PlcValueType_BYTE
}
case 0x04:
{ /* '0x04' */
- return "IEC61131_BYTE"
+ return PlcValueType_BYTE
}
case 0x05:
{ /* '0x05' */
- return "IEC61131_BYTE"
+ return PlcValueType_BYTE
}
case 0x06:
{ /* '0x06' */
- return "IEC61131_WORD"
+ return PlcValueType_WORD
}
case 0x07:
{ /* '0x07' */
- return "IEC61131_WORD"
+ return PlcValueType_WORD
}
case 0x08:
{ /* '0x08' */
- return "IEC61131_DWORD"
+ return PlcValueType_DWORD
}
case 0x09:
{ /* '0x09' */
- return "IEC61131_DWORD"
+ return PlcValueType_DWORD
}
case 0x0A:
{ /* '0x0A' */
- return "IEC61131_SINT"
+ return PlcValueType_SINT
}
case 0x0B:
{ /* '0x0B' */
- return "IEC61131_SINT"
+ return PlcValueType_SINT
}
case 0x0C:
{ /* '0x0C' */
- return "IEC61131_USINT"
+ return PlcValueType_USINT
}
case 0x0D:
{ /* '0x0D' */
- return "IEC61131_USINT"
+ return PlcValueType_USINT
}
case 0x0E:
{ /* '0x0E' */
- return "IEC61131_INT"
+ return PlcValueType_INT
}
case 0x0F:
{ /* '0x0F' */
- return "IEC61131_INT"
+ return PlcValueType_INT
}
case 0x10:
{ /* '0x10' */
- return "IEC61131_UINT"
+ return PlcValueType_UINT
}
case 0x11:
{ /* '0x11' */
- return "IEC61131_UINT"
+ return PlcValueType_UINT
}
case 0x12:
{ /* '0x12' */
- return "IEC61131_DINT"
+ return PlcValueType_DINT
}
case 0x13:
{ /* '0x13' */
- return "IEC61131_DINT"
+ return PlcValueType_DINT
}
case 0x14:
{ /* '0x14' */
- return "IEC61131_UDINT"
+ return PlcValueType_UDINT
}
case 0x15:
{ /* '0x15' */
- return "IEC61131_UDINT"
+ return PlcValueType_UDINT
}
case 0x16:
{ /* '0x16' */
- return "IEC61131_LINT"
+ return PlcValueType_LINT
}
case 0x17:
{ /* '0x17' */
- return "IEC61131_LINT"
+ return PlcValueType_LINT
}
case 0x18:
{ /* '0x18' */
- return "IEC61131_ULINT"
+ return PlcValueType_ULINT
}
case 0x19:
{ /* '0x19' */
- return "IEC61131_ULINT"
+ return PlcValueType_ULINT
}
case 0x1A:
{ /* '0x1A' */
- return "IEC61131_REAL"
+ return PlcValueType_REAL
}
case 0x1B:
{ /* '0x1B' */
- return "IEC61131_REAL"
+ return PlcValueType_REAL
}
case 0x1C:
{ /* '0x1C' */
- return "IEC61131_LREAL"
+ return PlcValueType_LREAL
}
case 0x1D:
{ /* '0x1D' */
- return "IEC61131_LREAL"
+ return PlcValueType_LREAL
}
case 0x1E:
{ /* '0x1E' */
- return "IEC61131_CHAR"
+ return PlcValueType_CHAR
}
case 0x1F:
{ /* '0x1F' */
- return "IEC61131_WCHAR"
+ return PlcValueType_WCHAR
}
case 0x20:
{ /* '0x20' */
- return "IEC61131_STRING"
+ return PlcValueType_STRING
}
case 0x21:
{ /* '0x21' */
- return "IEC61131_WSTRING"
+ return PlcValueType_WSTRING
}
case 0x22:
{ /* '0x22' */
- return "IEC61131_TIME"
+ return PlcValueType_TIME
}
case 0x23:
{ /* '0x23' */
- return "IEC61131_LTIME"
+ return PlcValueType_LTIME
}
case 0x24:
{ /* '0x24' */
- return "IEC61131_DATE"
+ return PlcValueType_DATE
}
case 0x25:
{ /* '0x25' */
- return "IEC61131_TIME_OF_DAY"
+ return PlcValueType_TIME_OF_DAY
}
case 0x26:
{ /* '0x26' */
- return "IEC61131_TIME_OF_DAY"
+ return PlcValueType_TIME_OF_DAY
}
case 0x27:
{ /* '0x27' */
- return "IEC61131_DATE_AND_TIME"
+ return PlcValueType_DATE_AND_TIME
}
case 0x28:
{ /* '0x28' */
- return "IEC61131_DATE_AND_TIME"
+ return PlcValueType_DATE_AND_TIME
}
default:
{
- return ""
+ return 0
}
}
}
-func AdsDataTypeFirstEnumForFieldDataFormatName(value string) (AdsDataType, error) {
+func AdsDataTypeFirstEnumForFieldPlcValueType(value PlcValueType) (AdsDataType, error) {
for _, sizeValue := range AdsDataTypeValues {
- if sizeValue.DataFormatName() == value {
+ if sizeValue.PlcValueType() == value {
return sizeValue, nil
}
}
- return 0, errors.Errorf("enum for %v describing DataFormatName not found", value)
+ return 0, errors.Errorf("enum for %v describing PlcValueType not found", value)
}
func AdsDataTypeByValue(value int8) (enum AdsDataType, ok bool) {
switch value {
diff --git a/plc4go/protocols/ads/readwrite/model/DataItem.go b/plc4go/protocols/ads/readwrite/model/DataItem.go
index 5d2215378..ad0f76c64 100644
--- a/plc4go/protocols/ads/readwrite/model/DataItem.go
+++ b/plc4go/protocols/ads/readwrite/model/DataItem.go
@@ -29,10 +29,10 @@ import (
// Code generated by code-generation. DO NOT EDIT.
-func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLength int32) (api.PlcValue, error) {
+func DataItemParse(readBuffer utils.ReadBuffer, plcValueType PlcValueType, stringLength int32) (api.PlcValue, error) {
readBuffer.PullContext("DataItem")
switch {
- case dataFormatName == "IEC61131_BOOL": // BOOL
+ case plcValueType == PlcValueType_BOOL: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := readBuffer.ReadUint8("reserved", 7); _err != nil {
return nil, errors.Wrap(_err, "Error parsing reserved field")
@@ -45,7 +45,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcBOOL(value), nil
- case dataFormatName == "IEC61131_BYTE": // BitString
+ case plcValueType == PlcValueType_BYTE: // BitString
// Simple Field (value)
value, _valueErr := readBuffer.ReadUint8("value", 8)
if _valueErr != nil {
@@ -53,7 +53,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcBitString(value), nil
- case dataFormatName == "IEC61131_WORD": // BitString
+ case plcValueType == PlcValueType_WORD: // BitString
// Simple Field (value)
value, _valueErr := readBuffer.ReadUint16("value", 16)
if _valueErr != nil {
@@ -61,7 +61,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcBitString(value), nil
- case dataFormatName == "IEC61131_DWORD": // BitString
+ case plcValueType == PlcValueType_DWORD: // BitString
// Simple Field (value)
value, _valueErr := readBuffer.ReadUint32("value", 32)
if _valueErr != nil {
@@ -69,7 +69,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcBitString(value), nil
- case dataFormatName == "IEC61131_SINT": // SINT
+ case plcValueType == PlcValueType_SINT: // SINT
// Simple Field (value)
value, _valueErr := readBuffer.ReadInt8("value", 8)
if _valueErr != nil {
@@ -77,7 +77,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcSINT(value), nil
- case dataFormatName == "IEC61131_USINT": // USINT
+ case plcValueType == PlcValueType_USINT: // USINT
// Simple Field (value)
value, _valueErr := readBuffer.ReadUint8("value", 8)
if _valueErr != nil {
@@ -85,7 +85,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcUSINT(value), nil
- case dataFormatName == "IEC61131_INT": // INT
+ case plcValueType == PlcValueType_INT: // INT
// Simple Field (value)
value, _valueErr := readBuffer.ReadInt16("value", 16)
if _valueErr != nil {
@@ -93,7 +93,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcINT(value), nil
- case dataFormatName == "IEC61131_UINT": // UINT
+ case plcValueType == PlcValueType_UINT: // UINT
// Simple Field (value)
value, _valueErr := readBuffer.ReadUint16("value", 16)
if _valueErr != nil {
@@ -101,7 +101,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcUINT(value), nil
- case dataFormatName == "IEC61131_DINT": // DINT
+ case plcValueType == PlcValueType_DINT: // DINT
// Simple Field (value)
value, _valueErr := readBuffer.ReadInt32("value", 32)
if _valueErr != nil {
@@ -109,7 +109,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcDINT(value), nil
- case dataFormatName == "IEC61131_UDINT": // UDINT
+ case plcValueType == PlcValueType_UDINT: // UDINT
// Simple Field (value)
value, _valueErr := readBuffer.ReadUint32("value", 32)
if _valueErr != nil {
@@ -117,7 +117,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcUDINT(value), nil
- case dataFormatName == "IEC61131_LINT": // LINT
+ case plcValueType == PlcValueType_LINT: // LINT
// Simple Field (value)
value, _valueErr := readBuffer.ReadInt64("value", 64)
if _valueErr != nil {
@@ -125,7 +125,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcLINT(value), nil
- case dataFormatName == "IEC61131_ULINT": // ULINT
+ case plcValueType == PlcValueType_ULINT: // ULINT
// Simple Field (value)
value, _valueErr := readBuffer.ReadUint64("value", 64)
if _valueErr != nil {
@@ -133,7 +133,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcULINT(value), nil
- case dataFormatName == "IEC61131_REAL": // REAL
+ case plcValueType == PlcValueType_REAL: // REAL
// Simple Field (value)
value, _valueErr := readBuffer.ReadFloat32("value", 32)
if _valueErr != nil {
@@ -141,7 +141,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcREAL(value), nil
- case dataFormatName == "IEC61131_LREAL": // LREAL
+ case plcValueType == PlcValueType_LREAL: // LREAL
// Simple Field (value)
value, _valueErr := readBuffer.ReadFloat64("value", 64)
if _valueErr != nil {
@@ -149,7 +149,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcLREAL(value), nil
- case dataFormatName == "IEC61131_CHAR": // STRING
+ case plcValueType == PlcValueType_CHAR: // STRING
// Simple Field (value)
value, _valueErr := readBuffer.ReadString("value", uint32(8))
if _valueErr != nil {
@@ -157,7 +157,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcSTRING(value), nil
- case dataFormatName == "IEC61131_WCHAR": // STRING
+ case plcValueType == PlcValueType_WCHAR: // STRING
// Simple Field (value)
value, _valueErr := readBuffer.ReadString("value", uint32(16))
if _valueErr != nil {
@@ -165,7 +165,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcSTRING(value), nil
- case dataFormatName == "IEC61131_STRING": // STRING
+ case plcValueType == PlcValueType_STRING: // STRING
// Manual Field (value)
value, _valueErr := ParseAmsString(readBuffer, stringLength, "UTF-8")
if _valueErr != nil {
@@ -173,7 +173,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcSTRING(value), nil
- case dataFormatName == "IEC61131_WSTRING": // STRING
+ case plcValueType == PlcValueType_WSTRING: // STRING
// Manual Field (value)
value, _valueErr := ParseAmsString(readBuffer, stringLength, "UTF-16")
if _valueErr != nil {
@@ -181,7 +181,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcSTRING(value), nil
- case dataFormatName == "IEC61131_TIME": // TIME
+ case plcValueType == PlcValueType_TIME: // TIME
// Simple Field (value)
value, _valueErr := readBuffer.ReadUint32("value", 32)
if _valueErr != nil {
@@ -189,7 +189,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcTIME(value), nil
- case dataFormatName == "IEC61131_LTIME": // LTIME
+ case plcValueType == PlcValueType_LTIME: // LTIME
// Simple Field (value)
value, _valueErr := readBuffer.ReadUint64("value", 64)
if _valueErr != nil {
@@ -197,7 +197,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcLTIME(value), nil
- case dataFormatName == "IEC61131_DATE": // DATE
+ case plcValueType == PlcValueType_DATE: // DATE
// Simple Field (value)
value, _valueErr := readBuffer.ReadUint32("value", 32)
if _valueErr != nil {
@@ -205,7 +205,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcDATE(value), nil
- case dataFormatName == "IEC61131_TIME_OF_DAY": // TIME_OF_DAY
+ case plcValueType == PlcValueType_TIME_OF_DAY: // TIME_OF_DAY
// Simple Field (value)
value, _valueErr := readBuffer.ReadUint32("value", 32)
if _valueErr != nil {
@@ -213,7 +213,7 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
}
readBuffer.CloseContext("DataItem")
return values.NewPlcTIME_OF_DAY(value), nil
- case dataFormatName == "IEC61131_DATE_AND_TIME": // DATE_AND_TIME
+ case plcValueType == PlcValueType_DATE_AND_TIME: // DATE_AND_TIME
// Simple Field (secondsSinceEpoch)
secondsSinceEpoch, _secondsSinceEpochErr := readBuffer.ReadUint32("secondsSinceEpoch", 32)
if _secondsSinceEpochErr != nil {
@@ -227,18 +227,18 @@ func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLen
return nil, errors.New("unsupported type")
}
-func DataItemSerialize(writeBuffer utils.WriteBuffer, value api.PlcValue, dataFormatName string, stringLength int32) error {
+func DataItemSerialize(writeBuffer utils.WriteBuffer, value api.PlcValue, plcValueType PlcValueType, stringLength int32) error {
m := struct {
- DataFormatName string
- StringLength int32
+ PlcValueType PlcValueType
+ StringLength int32
}{
- DataFormatName: dataFormatName,
- StringLength: stringLength,
+ PlcValueType: plcValueType,
+ StringLength: stringLength,
}
_ = m
writeBuffer.PushContext("DataItem")
switch {
- case dataFormatName == "IEC61131_BOOL": // BOOL
+ case plcValueType == PlcValueType_BOOL: // BOOL
// Reserved Field (Just skip the bytes)
if _err := writeBuffer.WriteUint8("reserved", 7, uint8(0x00)); _err != nil {
return errors.Wrap(_err, "Error serializing reserved field")
@@ -248,114 +248,114 @@ func DataItemSerialize(writeBuffer utils.WriteBuffer, value api.PlcValue, dataFo
if _err := writeBuffer.WriteBit("value", value.GetBool()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_BYTE": // BitString
+ case plcValueType == PlcValueType_BYTE: // BitString
// Simple Field (value)
if _err := writeBuffer.WriteUint8("value", 8, value.GetUint8()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_WORD": // BitString
+ case plcValueType == PlcValueType_WORD: // BitString
// Simple Field (value)
if _err := writeBuffer.WriteUint16("value", 16, value.GetUint16()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_DWORD": // BitString
+ case plcValueType == PlcValueType_DWORD: // BitString
// Simple Field (value)
if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_SINT": // SINT
+ case plcValueType == PlcValueType_SINT: // SINT
// Simple Field (value)
if _err := writeBuffer.WriteInt8("value", 8, value.GetInt8()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_USINT": // USINT
+ case plcValueType == PlcValueType_USINT: // USINT
// Simple Field (value)
if _err := writeBuffer.WriteUint8("value", 8, value.GetUint8()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_INT": // INT
+ case plcValueType == PlcValueType_INT: // INT
// Simple Field (value)
if _err := writeBuffer.WriteInt16("value", 16, value.GetInt16()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_UINT": // UINT
+ case plcValueType == PlcValueType_UINT: // UINT
// Simple Field (value)
if _err := writeBuffer.WriteUint16("value", 16, value.GetUint16()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_DINT": // DINT
+ case plcValueType == PlcValueType_DINT: // DINT
// Simple Field (value)
if _err := writeBuffer.WriteInt32("value", 32, value.GetInt32()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_UDINT": // UDINT
+ case plcValueType == PlcValueType_UDINT: // UDINT
// Simple Field (value)
if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_LINT": // LINT
+ case plcValueType == PlcValueType_LINT: // LINT
// Simple Field (value)
if _err := writeBuffer.WriteInt64("value", 64, value.GetInt64()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_ULINT": // ULINT
+ case plcValueType == PlcValueType_ULINT: // ULINT
// Simple Field (value)
if _err := writeBuffer.WriteUint64("value", 64, value.GetUint64()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_REAL": // REAL
+ case plcValueType == PlcValueType_REAL: // REAL
// Simple Field (value)
if _err := writeBuffer.WriteFloat32("value", 32, value.GetFloat32()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_LREAL": // LREAL
+ case plcValueType == PlcValueType_LREAL: // LREAL
// Simple Field (value)
if _err := writeBuffer.WriteFloat64("value", 64, value.GetFloat64()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_CHAR": // STRING
+ case plcValueType == PlcValueType_CHAR: // STRING
// Simple Field (value)
if _err := writeBuffer.WriteString("value", uint32(8), "UTF-8", value.GetString()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_WCHAR": // STRING
+ case plcValueType == PlcValueType_WCHAR: // STRING
// Simple Field (value)
if _err := writeBuffer.WriteString("value", uint32(16), "UTF-16", value.GetString()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_STRING": // STRING
+ case plcValueType == PlcValueType_STRING: // STRING
// Manual Field (value)
_valueErr := SerializeAmsString(writeBuffer, value, m.StringLength, "UTF-8")
if _valueErr != nil {
return errors.Wrap(_valueErr, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_WSTRING": // STRING
+ case plcValueType == PlcValueType_WSTRING: // STRING
// Manual Field (value)
_valueErr := SerializeAmsString(writeBuffer, value, m.StringLength, "UTF-16")
if _valueErr != nil {
return errors.Wrap(_valueErr, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_TIME": // TIME
+ case plcValueType == PlcValueType_TIME: // TIME
// Simple Field (value)
if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_LTIME": // LTIME
+ case plcValueType == PlcValueType_LTIME: // LTIME
// Simple Field (value)
if _err := writeBuffer.WriteUint64("value", 64, value.GetUint64()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_DATE": // DATE
+ case plcValueType == PlcValueType_DATE: // DATE
// Simple Field (value)
if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_TIME_OF_DAY": // TIME_OF_DAY
+ case plcValueType == PlcValueType_TIME_OF_DAY: // TIME_OF_DAY
// Simple Field (value)
if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
}
- case dataFormatName == "IEC61131_DATE_AND_TIME": // DATE_AND_TIME
+ case plcValueType == PlcValueType_DATE_AND_TIME: // DATE_AND_TIME
// Simple Field (secondsSinceEpoch)
if _err := writeBuffer.WriteUint32("secondsSinceEpoch", 32, value.GetUint32()); _err != nil {
return errors.Wrap(_err, "Error serializing 'secondsSinceEpoch' field")
diff --git a/plc4go/protocols/ads/readwrite/model/PlcValueType.go b/plc4go/protocols/ads/readwrite/model/PlcValueType.go
new file mode 100644
index 000000000..2817a8ba0
--- /dev/null
+++ b/plc4go/protocols/ads/readwrite/model/PlcValueType.go
@@ -0,0 +1,361 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+ "github.com/apache/plc4x/plc4go/spi/utils"
+ "github.com/pkg/errors"
+ "github.com/rs/zerolog/log"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// PlcValueType is an enum
+type PlcValueType uint8
+
+type IPlcValueType interface {
+ Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+ PlcValueType_NULL PlcValueType = 0x00
+ PlcValueType_BOOL PlcValueType = 0x01
+ PlcValueType_BYTE PlcValueType = 0x02
+ PlcValueType_WORD PlcValueType = 0x03
+ PlcValueType_DWORD PlcValueType = 0x04
+ PlcValueType_LWORD PlcValueType = 0x05
+ PlcValueType_USINT PlcValueType = 0x11
+ PlcValueType_UINT PlcValueType = 0x12
+ PlcValueType_UDINT PlcValueType = 0x13
+ PlcValueType_ULINT PlcValueType = 0x14
+ PlcValueType_SINT PlcValueType = 0x21
+ PlcValueType_INT PlcValueType = 0x22
+ PlcValueType_DINT PlcValueType = 0x23
+ PlcValueType_LINT PlcValueType = 0x24
+ PlcValueType_REAL PlcValueType = 0x31
+ PlcValueType_LREAL PlcValueType = 0x32
+ PlcValueType_CHAR PlcValueType = 0x41
+ PlcValueType_WCHAR PlcValueType = 0x42
+ PlcValueType_STRING PlcValueType = 0x43
+ PlcValueType_WSTRING PlcValueType = 0x44
+ PlcValueType_TIME PlcValueType = 0x51
+ PlcValueType_LTIME PlcValueType = 0x52
+ PlcValueType_DATE PlcValueType = 0x53
+ PlcValueType_LDATE PlcValueType = 0x54
+ PlcValueType_TIME_OF_DAY PlcValueType = 0x55
+ PlcValueType_LTIME_OF_DAY PlcValueType = 0x56
+ PlcValueType_DATE_AND_TIME PlcValueType = 0x57
+ PlcValueType_LDATE_AND_TIME PlcValueType = 0x58
+ PlcValueType_Struct PlcValueType = 0x61
+ PlcValueType_List PlcValueType = 0x62
+ PlcValueType_RAW_BYTE_ARRAY PlcValueType = 0x71
+)
+
+var PlcValueTypeValues []PlcValueType
+
+func init() {
+ _ = errors.New
+ PlcValueTypeValues = []PlcValueType{
+ PlcValueType_NULL,
+ PlcValueType_BOOL,
+ PlcValueType_BYTE,
+ PlcValueType_WORD,
+ PlcValueType_DWORD,
+ PlcValueType_LWORD,
+ PlcValueType_USINT,
+ PlcValueType_UINT,
+ PlcValueType_UDINT,
+ PlcValueType_ULINT,
+ PlcValueType_SINT,
+ PlcValueType_INT,
+ PlcValueType_DINT,
+ PlcValueType_LINT,
+ PlcValueType_REAL,
+ PlcValueType_LREAL,
+ PlcValueType_CHAR,
+ PlcValueType_WCHAR,
+ PlcValueType_STRING,
+ PlcValueType_WSTRING,
+ PlcValueType_TIME,
+ PlcValueType_LTIME,
+ PlcValueType_DATE,
+ PlcValueType_LDATE,
+ PlcValueType_TIME_OF_DAY,
+ PlcValueType_LTIME_OF_DAY,
+ PlcValueType_DATE_AND_TIME,
+ PlcValueType_LDATE_AND_TIME,
+ PlcValueType_Struct,
+ PlcValueType_List,
+ PlcValueType_RAW_BYTE_ARRAY,
+ }
+}
+
+func PlcValueTypeByValue(value uint8) (enum PlcValueType, ok bool) {
+ switch value {
+ case 0x00:
+ return PlcValueType_NULL, true
+ case 0x01:
+ return PlcValueType_BOOL, true
+ case 0x02:
+ return PlcValueType_BYTE, true
+ case 0x03:
+ return PlcValueType_WORD, true
+ case 0x04:
+ return PlcValueType_DWORD, true
+ case 0x05:
+ return PlcValueType_LWORD, true
+ case 0x11:
+ return PlcValueType_USINT, true
+ case 0x12:
+ return PlcValueType_UINT, true
+ case 0x13:
+ return PlcValueType_UDINT, true
+ case 0x14:
+ return PlcValueType_ULINT, true
+ case 0x21:
+ return PlcValueType_SINT, true
+ case 0x22:
+ return PlcValueType_INT, true
+ case 0x23:
+ return PlcValueType_DINT, true
+ case 0x24:
+ return PlcValueType_LINT, true
+ case 0x31:
+ return PlcValueType_REAL, true
+ case 0x32:
+ return PlcValueType_LREAL, true
+ case 0x41:
+ return PlcValueType_CHAR, true
+ case 0x42:
+ return PlcValueType_WCHAR, true
+ case 0x43:
+ return PlcValueType_STRING, true
+ case 0x44:
+ return PlcValueType_WSTRING, true
+ case 0x51:
+ return PlcValueType_TIME, true
+ case 0x52:
+ return PlcValueType_LTIME, true
+ case 0x53:
+ return PlcValueType_DATE, true
+ case 0x54:
+ return PlcValueType_LDATE, true
+ case 0x55:
+ return PlcValueType_TIME_OF_DAY, true
+ case 0x56:
+ return PlcValueType_LTIME_OF_DAY, true
+ case 0x57:
+ return PlcValueType_DATE_AND_TIME, true
+ case 0x58:
+ return PlcValueType_LDATE_AND_TIME, true
+ case 0x61:
+ return PlcValueType_Struct, true
+ case 0x62:
+ return PlcValueType_List, true
+ case 0x71:
+ return PlcValueType_RAW_BYTE_ARRAY, true
+ }
+ return 0, false
+}
+
+func PlcValueTypeByName(value string) (enum PlcValueType, ok bool) {
+ switch value {
+ case "NULL":
+ return PlcValueType_NULL, true
+ case "BOOL":
+ return PlcValueType_BOOL, true
+ case "BYTE":
+ return PlcValueType_BYTE, true
+ case "WORD":
+ return PlcValueType_WORD, true
+ case "DWORD":
+ return PlcValueType_DWORD, true
+ case "LWORD":
+ return PlcValueType_LWORD, true
+ case "USINT":
+ return PlcValueType_USINT, true
+ case "UINT":
+ return PlcValueType_UINT, true
+ case "UDINT":
+ return PlcValueType_UDINT, true
+ case "ULINT":
+ return PlcValueType_ULINT, true
+ case "SINT":
+ return PlcValueType_SINT, true
+ case "INT":
+ return PlcValueType_INT, true
+ case "DINT":
+ return PlcValueType_DINT, true
+ case "LINT":
+ return PlcValueType_LINT, true
+ case "REAL":
+ return PlcValueType_REAL, true
+ case "LREAL":
+ return PlcValueType_LREAL, true
+ case "CHAR":
+ return PlcValueType_CHAR, true
+ case "WCHAR":
+ return PlcValueType_WCHAR, true
+ case "STRING":
+ return PlcValueType_STRING, true
+ case "WSTRING":
+ return PlcValueType_WSTRING, true
+ case "TIME":
+ return PlcValueType_TIME, true
+ case "LTIME":
+ return PlcValueType_LTIME, true
+ case "DATE":
+ return PlcValueType_DATE, true
+ case "LDATE":
+ return PlcValueType_LDATE, true
+ case "TIME_OF_DAY":
+ return PlcValueType_TIME_OF_DAY, true
+ case "LTIME_OF_DAY":
+ return PlcValueType_LTIME_OF_DAY, true
+ case "DATE_AND_TIME":
+ return PlcValueType_DATE_AND_TIME, true
+ case "LDATE_AND_TIME":
+ return PlcValueType_LDATE_AND_TIME, true
+ case "Struct":
+ return PlcValueType_Struct, true
+ case "List":
+ return PlcValueType_List, true
+ case "RAW_BYTE_ARRAY":
+ return PlcValueType_RAW_BYTE_ARRAY, true
+ }
+ return 0, false
+}
+
+func PlcValueTypeKnows(value uint8) bool {
+ for _, typeValue := range PlcValueTypeValues {
+ if uint8(typeValue) == value {
+ return true
+ }
+ }
+ return false
+}
+
+func CastPlcValueType(structType interface{}) PlcValueType {
+ castFunc := func(typ interface{}) PlcValueType {
+ if sPlcValueType, ok := typ.(PlcValueType); ok {
+ return sPlcValueType
+ }
+ return 0
+ }
+ return castFunc(structType)
+}
+
+func (m PlcValueType) GetLengthInBits() uint16 {
+ return 8
+}
+
+func (m PlcValueType) GetLengthInBytes() uint16 {
+ return m.GetLengthInBits() / 8
+}
+
+func PlcValueTypeParse(readBuffer utils.ReadBuffer) (PlcValueType, error) {
+ val, err := readBuffer.ReadUint8("PlcValueType", 8)
+ if err != nil {
+ return 0, errors.Wrap(err, "error reading PlcValueType")
+ }
+ if enum, ok := PlcValueTypeByValue(val); !ok {
+ log.Debug().Msgf("no value %x found for RequestType", val)
+ return PlcValueType(val), nil
+ } else {
+ return enum, nil
+ }
+}
+
+func (e PlcValueType) Serialize(writeBuffer utils.WriteBuffer) error {
+ return writeBuffer.WriteUint8("PlcValueType", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.PLC4XEnumName()))
+}
+
+// PLC4XEnumName returns the name that is used in code to identify this enum
+func (e PlcValueType) PLC4XEnumName() string {
+ switch e {
+ case PlcValueType_NULL:
+ return "NULL"
+ case PlcValueType_BOOL:
+ return "BOOL"
+ case PlcValueType_BYTE:
+ return "BYTE"
+ case PlcValueType_WORD:
+ return "WORD"
+ case PlcValueType_DWORD:
+ return "DWORD"
+ case PlcValueType_LWORD:
+ return "LWORD"
+ case PlcValueType_USINT:
+ return "USINT"
+ case PlcValueType_UINT:
+ return "UINT"
+ case PlcValueType_UDINT:
+ return "UDINT"
+ case PlcValueType_ULINT:
+ return "ULINT"
+ case PlcValueType_SINT:
+ return "SINT"
+ case PlcValueType_INT:
+ return "INT"
+ case PlcValueType_DINT:
+ return "DINT"
+ case PlcValueType_LINT:
+ return "LINT"
+ case PlcValueType_REAL:
+ return "REAL"
+ case PlcValueType_LREAL:
+ return "LREAL"
+ case PlcValueType_CHAR:
+ return "CHAR"
+ case PlcValueType_WCHAR:
+ return "WCHAR"
+ case PlcValueType_STRING:
+ return "STRING"
+ case PlcValueType_WSTRING:
+ return "WSTRING"
+ case PlcValueType_TIME:
+ return "TIME"
+ case PlcValueType_LTIME:
+ return "LTIME"
+ case PlcValueType_DATE:
+ return "DATE"
+ case PlcValueType_LDATE:
+ return "LDATE"
+ case PlcValueType_TIME_OF_DAY:
+ return "TIME_OF_DAY"
+ case PlcValueType_LTIME_OF_DAY:
+ return "LTIME_OF_DAY"
+ case PlcValueType_DATE_AND_TIME:
+ return "DATE_AND_TIME"
+ case PlcValueType_LDATE_AND_TIME:
+ return "LDATE_AND_TIME"
+ case PlcValueType_Struct:
+ return "Struct"
+ case PlcValueType_List:
+ return "List"
+ case PlcValueType_RAW_BYTE_ARRAY:
+ return "RAW_BYTE_ARRAY"
+ }
+ return ""
+}
+
+func (e PlcValueType) String() string {
+ return e.PLC4XEnumName()
+}
diff --git a/plc4go/protocols/ads/readwrite/model/ReservedIndexGroups.go b/plc4go/protocols/ads/readwrite/model/ReservedIndexGroups.go
index aa594c7aa..257a4568b 100644
--- a/plc4go/protocols/ads/readwrite/model/ReservedIndexGroups.go
+++ b/plc4go/protocols/ads/readwrite/model/ReservedIndexGroups.go
@@ -35,38 +35,41 @@ type IReservedIndexGroups interface {
}
const (
- ReservedIndexGroups_ADSIGRP_SYMTAB ReservedIndexGroups = 0x0000F000
- ReservedIndexGroups_ADSIGRP_SYMNAME ReservedIndexGroups = 0x0000F001
- ReservedIndexGroups_ADSIGRP_SYMVAL ReservedIndexGroups = 0x0000F002
- ReservedIndexGroups_ADSIGRP_SYM_HNDBYNAME ReservedIndexGroups = 0x0000F003
- ReservedIndexGroups_ADSIGRP_SYM_VALBYNAME ReservedIndexGroups = 0x0000F004
- ReservedIndexGroups_ADSIGRP_SYM_VALBYHND ReservedIndexGroups = 0x0000F005
- ReservedIndexGroups_ADSIGRP_SYM_RELEASEHND ReservedIndexGroups = 0x0000F006
- ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAME ReservedIndexGroups = 0x0000F007
- ReservedIndexGroups_ADSIGRP_SYM_VERSION ReservedIndexGroups = 0x0000F008
- ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAMEEX ReservedIndexGroups = 0x0000F009
- ReservedIndexGroups_ADSIGRP_SYM_DOWNLOAD ReservedIndexGroups = 0x0000F00A
- ReservedIndexGroups_ADSIGRP_SYM_UPLOAD ReservedIndexGroups = 0x0000F00B
- ReservedIndexGroups_ADSIGRP_SYM_UPLOADINFO ReservedIndexGroups = 0x0000F00C
- ReservedIndexGroups_ADSIGRP_DATA_TYPE_TABLE_UPLOAD ReservedIndexGroups = 0x0000F00E
- ReservedIndexGroups_ADSIGRP_SYMBOL_AND_DATA_TYPE_SIZES ReservedIndexGroups = 0x0000F00F
- ReservedIndexGroups_ADSIGRP_SYMNOTE ReservedIndexGroups = 0x0000F010
- ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIB ReservedIndexGroups = 0x0000F020
- ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIX ReservedIndexGroups = 0x0000F021
- ReservedIndexGroups_ADSIGRP_IOIMAGE_RISIZE ReservedIndexGroups = 0x0000F025
- ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOB ReservedIndexGroups = 0x0000F030
- ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOX ReservedIndexGroups = 0x0000F031
- ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOSIZE ReservedIndexGroups = 0x0000F035
- ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARI ReservedIndexGroups = 0x0000F040
- ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARO ReservedIndexGroups = 0x0000F050
- ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIOB ReservedIndexGroups = 0x0000F060
- ReservedIndexGroups_ADSIGRP_MULTIPLE_READ ReservedIndexGroups = 0x0000F080
- ReservedIndexGroups_ADSIGRP_MULTIPLE_WRITE ReservedIndexGroups = 0x0000F081
- ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE ReservedIndexGroups = 0x0000F082
- ReservedIndexGroups_ADSIGRP_MULTIPLE_RELEASE_HANDLE ReservedIndexGroups = 0x0000F083
- ReservedIndexGroups_ADSIGRP_DEVICE_DATA ReservedIndexGroups = 0x0000F100
- ReservedIndexGroups_ADSIOFFS_DEVDATA_ADSSTATE ReservedIndexGroups = 0x00000000
- ReservedIndexGroups_ADSIOFFS_DEVDATA_DEVSTATE ReservedIndexGroups = 0x00000002
+ ReservedIndexGroups_ADSIGRP_SYMTAB ReservedIndexGroups = 0x0000F000
+ ReservedIndexGroups_ADSIGRP_SYMNAME ReservedIndexGroups = 0x0000F001
+ ReservedIndexGroups_ADSIGRP_SYMVAL ReservedIndexGroups = 0x0000F002
+ ReservedIndexGroups_ADSIGRP_SYM_HNDBYNAME ReservedIndexGroups = 0x0000F003
+ ReservedIndexGroups_ADSIGRP_SYM_VALBYNAME ReservedIndexGroups = 0x0000F004
+ ReservedIndexGroups_ADSIGRP_SYM_VALBYHND ReservedIndexGroups = 0x0000F005
+ ReservedIndexGroups_ADSIGRP_SYM_RELEASEHND ReservedIndexGroups = 0x0000F006
+ ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAME ReservedIndexGroups = 0x0000F007
+ ReservedIndexGroups_ADSIGRP_SYM_VERSION ReservedIndexGroups = 0x0000F008
+ ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAMEEX ReservedIndexGroups = 0x0000F009
+ ReservedIndexGroups_ADSIGRP_SYM_DOWNLOAD ReservedIndexGroups = 0x0000F00A
+ ReservedIndexGroups_ADSIGRP_SYM_UPLOAD ReservedIndexGroups = 0x0000F00B
+ ReservedIndexGroups_ADSIGRP_SYM_UPLOADINFO ReservedIndexGroups = 0x0000F00C
+ ReservedIndexGroups_ADSIGRP_DATA_TYPE_TABLE_UPLOAD ReservedIndexGroups = 0x0000F00E
+ ReservedIndexGroups_ADSIGRP_SYMBOL_AND_DATA_TYPE_SIZES ReservedIndexGroups = 0x0000F00F
+ ReservedIndexGroups_ADSIGRP_SYMNOTE ReservedIndexGroups = 0x0000F010
+ ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIB ReservedIndexGroups = 0x0000F020
+ ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIX ReservedIndexGroups = 0x0000F021
+ ReservedIndexGroups_ADSIGRP_IOIMAGE_RISIZE ReservedIndexGroups = 0x0000F025
+ ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOB ReservedIndexGroups = 0x0000F030
+ ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOX ReservedIndexGroups = 0x0000F031
+ ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOSIZE ReservedIndexGroups = 0x0000F035
+ ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARI ReservedIndexGroups = 0x0000F040
+ ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARO ReservedIndexGroups = 0x0000F050
+ ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIOB ReservedIndexGroups = 0x0000F060
+ ReservedIndexGroups_ADSIGRP_MULTIPLE_READ ReservedIndexGroups = 0x0000F080
+ ReservedIndexGroups_ADSIGRP_MULTIPLE_WRITE ReservedIndexGroups = 0x0000F081
+ ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE ReservedIndexGroups = 0x0000F082
+ ReservedIndexGroups_ADSIGRP_MULTIPLE_RELEASE_HANDLE ReservedIndexGroups = 0x0000F083
+ ReservedIndexGroups_ADSIGRP_SUMUP_READEX2 ReservedIndexGroups = 0x0000F084
+ ReservedIndexGroups_ADSIGRP_MULTIPLE_ADD_DEVICE_NOTIFICATIONS ReservedIndexGroups = 0x0000F085
+ ReservedIndexGroups_ADSIGRP_MULTIPLE_DELETE_DEVICE_NOTIFICATIONS ReservedIndexGroups = 0x0000F086
+ ReservedIndexGroups_ADSIGRP_DEVICE_DATA ReservedIndexGroups = 0x0000F100
+ ReservedIndexGroups_ADSIOFFS_DEVDATA_ADSSTATE ReservedIndexGroups = 0x00000000
+ ReservedIndexGroups_ADSIOFFS_DEVDATA_DEVSTATE ReservedIndexGroups = 0x00000002
)
var ReservedIndexGroupsValues []ReservedIndexGroups
@@ -103,6 +106,9 @@ func init() {
ReservedIndexGroups_ADSIGRP_MULTIPLE_WRITE,
ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE,
ReservedIndexGroups_ADSIGRP_MULTIPLE_RELEASE_HANDLE,
+ ReservedIndexGroups_ADSIGRP_SUMUP_READEX2,
+ ReservedIndexGroups_ADSIGRP_MULTIPLE_ADD_DEVICE_NOTIFICATIONS,
+ ReservedIndexGroups_ADSIGRP_MULTIPLE_DELETE_DEVICE_NOTIFICATIONS,
ReservedIndexGroups_ADSIGRP_DEVICE_DATA,
ReservedIndexGroups_ADSIOFFS_DEVDATA_ADSSTATE,
ReservedIndexGroups_ADSIOFFS_DEVDATA_DEVSTATE,
@@ -173,6 +179,12 @@ func ReservedIndexGroupsByValue(value uint32) (enum ReservedIndexGroups, ok bool
return ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE, true
case 0x0000F083:
return ReservedIndexGroups_ADSIGRP_MULTIPLE_RELEASE_HANDLE, true
+ case 0x0000F084:
+ return ReservedIndexGroups_ADSIGRP_SUMUP_READEX2, true
+ case 0x0000F085:
+ return ReservedIndexGroups_ADSIGRP_MULTIPLE_ADD_DEVICE_NOTIFICATIONS, true
+ case 0x0000F086:
+ return ReservedIndexGroups_ADSIGRP_MULTIPLE_DELETE_DEVICE_NOTIFICATIONS, true
case 0x0000F100:
return ReservedIndexGroups_ADSIGRP_DEVICE_DATA, true
}
@@ -243,6 +255,12 @@ func ReservedIndexGroupsByName(value string) (enum ReservedIndexGroups, ok bool)
return ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE, true
case "ADSIGRP_MULTIPLE_RELEASE_HANDLE":
return ReservedIndexGroups_ADSIGRP_MULTIPLE_RELEASE_HANDLE, true
+ case "ADSIGRP_SUMUP_READEX2":
+ return ReservedIndexGroups_ADSIGRP_SUMUP_READEX2, true
+ case "ADSIGRP_MULTIPLE_ADD_DEVICE_NOTIFICATIONS":
+ return ReservedIndexGroups_ADSIGRP_MULTIPLE_ADD_DEVICE_NOTIFICATIONS, true
+ case "ADSIGRP_MULTIPLE_DELETE_DEVICE_NOTIFICATIONS":
+ return ReservedIndexGroups_ADSIGRP_MULTIPLE_DELETE_DEVICE_NOTIFICATIONS, true
case "ADSIGRP_DEVICE_DATA":
return ReservedIndexGroups_ADSIGRP_DEVICE_DATA, true
}
@@ -358,6 +376,12 @@ func (e ReservedIndexGroups) PLC4XEnumName() string {
return "ADSIGRP_MULTIPLE_READ_WRITE"
case ReservedIndexGroups_ADSIGRP_MULTIPLE_RELEASE_HANDLE:
return "ADSIGRP_MULTIPLE_RELEASE_HANDLE"
+ case ReservedIndexGroups_ADSIGRP_SUMUP_READEX2:
+ return "ADSIGRP_SUMUP_READEX2"
+ case ReservedIndexGroups_ADSIGRP_MULTIPLE_ADD_DEVICE_NOTIFICATIONS:
+ return "ADSIGRP_MULTIPLE_ADD_DEVICE_NOTIFICATIONS"
+ case ReservedIndexGroups_ADSIGRP_MULTIPLE_DELETE_DEVICE_NOTIFICATIONS:
+ return "ADSIGRP_MULTIPLE_DELETE_DEVICE_NOTIFICATIONS"
case ReservedIndexGroups_ADSIGRP_DEVICE_DATA:
return "ADSIGRP_DEVICE_DATA"
}