- IED server: changed types TrkOps and OptFlds to variable length bit strings

pull/291/head
Michael Zillgith 5 years ago
parent 23da9ba28e
commit 53d8a2f715

@ -268,11 +268,11 @@ createNamedVariableFromDataAttribute(DataAttribute* attribute)
MmsMapping_createPhyComAddrStructure(namedVariable);
break;
case IEC61850_OPTFLDS:
namedVariable->typeSpec.bitString = 10;
namedVariable->typeSpec.bitString = -10;
namedVariable->type = MMS_BIT_STRING;
break;
case IEC61850_TRGOPS:
namedVariable->typeSpec.bitString = 6;
namedVariable->typeSpec.bitString = -6;
namedVariable->type = MMS_BIT_STRING;
break;

@ -419,11 +419,19 @@ ConfigFileParser_createModelFromConfigFile(FileHandle fileHandle)
break;
case IEC61850_OPTFLDS:
{
int value;
if (sscanf(valueIndicator + 1, "%i", &value) != 1) goto exit_error;
dataAttribute->mmsValue = MmsValue_newBitString(-10);
MmsValue_setBitStringFromIntegerBigEndian(dataAttribute->mmsValue, value);
}
break;
case IEC61850_TRGOPS:
{
int value;
if (sscanf(valueIndicator + 1, "%i", &value) != 1) goto exit_error;
dataAttribute->mmsValue = MmsValue_newBitString(2);
dataAttribute->mmsValue = MmsValue_newBitString(-6);
MmsValue_setBitStringFromIntegerBigEndian(dataAttribute->mmsValue, value);
}
break;

Loading…
Cancel
Save