- IEC 61850 server: added support for OptFlds and TrgOps basic data types (required for service tracking)

pull/143/head
Michael Zillgith 8 years ago
parent 22d0f32b2f
commit 64b589ac31

@ -117,7 +117,9 @@ typedef enum {
IEC61850_CONSTRUCTED = 27, IEC61850_CONSTRUCTED = 27,
IEC61850_ENTRY_TIME = 28, IEC61850_ENTRY_TIME = 28,
IEC61850_PHYCOMADDR = 29, IEC61850_PHYCOMADDR = 29,
IEC61850_CURRENCY = 30 IEC61850_CURRENCY = 30,
IEC61850_OPTFLDS = 31, /* bit-string(10) */
IEC61850_TRGOPS = 32 /* bit-string(6) */
#if (CONFIG_IEC61850_USE_COMPAT_TYPE_DECLARATIONS == 1) #if (CONFIG_IEC61850_USE_COMPAT_TYPE_DECLARATIONS == 1)
@ -153,6 +155,8 @@ typedef enum {
ENTRY_TIME = 28, ENTRY_TIME = 28,
PHYCOMADDR = 29, PHYCOMADDR = 29,
CURRENCY = 30 CURRENCY = 30
OPTFLDS = 31,
TRGOPS = 32
#endif #endif
} DataAttributeType; } DataAttributeType;

@ -267,6 +267,15 @@ createNamedVariableFromDataAttribute(DataAttribute* attribute)
case IEC61850_PHYCOMADDR: case IEC61850_PHYCOMADDR:
MmsMapping_createPhyComAddrStructure(namedVariable); MmsMapping_createPhyComAddrStructure(namedVariable);
break; break;
case IEC61850_OPTFLDS:
namedVariable->typeSpec.bitString = 10;
namedVariable->type = MMS_BIT_STRING;
break;
case IEC61850_TRGOPS:
namedVariable->typeSpec.bitString = 6;
namedVariable->type = MMS_BIT_STRING;
break;
default: default:
if (DEBUG_IED_SERVER) if (DEBUG_IED_SERVER)
printf("MMS-MAPPING: type cannot be mapped %i\n", attribute->type); printf("MMS-MAPPING: type cannot be mapped %i\n", attribute->type);

@ -681,6 +681,8 @@ DataSetEntry_create(DataSet* dataSet, const char* variable, int index, const cha
self->sibling = NULL; self->sibling = NULL;
self->value = NULL;
DataSet_addEntry(dataSet, self); DataSet_addEntry(dataSet, self);
return self; return self;

Loading…
Cancel
Save