diff --git a/config/stack_config.h b/config/stack_config.h index 449faf3f..3e900e11 100644 --- a/config/stack_config.h +++ b/config/stack_config.h @@ -174,7 +174,7 @@ #define CONFIG_MMS_MAX_NUMBER_OF_VMD_SPECIFIC_DATA_SETS 10 /* Maximum number of the members in a data set (named variable list) */ -#define CONFIG_MMS_MAX_NUMBER_OF_DATA_SET_MEMBERS 50 +#define CONFIG_MMS_MAX_NUMBER_OF_DATA_SET_MEMBERS 100 /* Definition of supported services */ #define MMS_DEFAULT_PROFILE 1 diff --git a/examples/server_example_complex_array/server_example_ca.c b/examples/server_example_complex_array/server_example_ca.c index 23d729aa..ca8bffea 100644 --- a/examples/server_example_complex_array/server_example_ca.c +++ b/examples/server_example_complex_array/server_example_ca.c @@ -110,6 +110,8 @@ int main(int argc, char** argv) { IedServer_lockDataModel(iedServer); for (i = 0; i < 16; i++) { updateCMVArrayElement(mhai1_ha_phsAHar_mx, i, mag, angle, quality, timestamp); + mag += 0.1f; + angle += 0.05f; } IedServer_unlockDataModel(iedServer); diff --git a/src/iec61850/inc_private/reporting.h b/src/iec61850/inc_private/reporting.h index 4c8443ff..e484ad1e 100644 --- a/src/iec61850/inc_private/reporting.h +++ b/src/iec61850/inc_private/reporting.h @@ -103,7 +103,7 @@ void ReportControl_destroy(ReportControl* self); void -ReportControl_valueUpdated(ReportControl* self, int dataSetEntryIndex, ReportInclusionFlag flag, MmsValue* value); +ReportControl_valueUpdated(ReportControl* self, int dataSetEntryIndex, ReportInclusionFlag flag); MmsValue* ReportControl_getRCBValue(ReportControl* rc, char* elementName); diff --git a/src/iec61850/server/mms_mapping/mms_mapping.c b/src/iec61850/server/mms_mapping/mms_mapping.c index 24b3939d..70841ef3 100644 --- a/src/iec61850/server/mms_mapping/mms_mapping.c +++ b/src/iec61850/server/mms_mapping/mms_mapping.c @@ -2520,7 +2520,7 @@ MmsMapping_triggerReportObservers(MmsMapping* self, MmsValue* value, ReportInclu } if (DataSet_isMemberValue(rc->dataSet, value, &index)) { - ReportControl_valueUpdated(rc, index, flag, value); + ReportControl_valueUpdated(rc, index, flag); } } } diff --git a/src/iec61850/server/mms_mapping/reporting.c b/src/iec61850/server/mms_mapping/reporting.c index 2b9212bb..2ee7173f 100644 --- a/src/iec61850/server/mms_mapping/reporting.c +++ b/src/iec61850/server/mms_mapping/reporting.c @@ -2464,7 +2464,7 @@ Reporting_processReportEvents(MmsMapping* self, uint64_t currentTimeInMs) } void -ReportControl_valueUpdated(ReportControl* self, int dataSetEntryIndex, ReportInclusionFlag flag, MmsValue* value) +ReportControl_valueUpdated(ReportControl* self, int dataSetEntryIndex, ReportInclusionFlag flag) { ReportControl_lockNotify(self); diff --git a/src/mms/iso_mms/server/mms_read_service.c b/src/mms/iso_mms/server/mms_read_service.c index ecee3ecc..3016bcbc 100644 --- a/src/mms/iso_mms/server/mms_read_service.c +++ b/src/mms/iso_mms/server/mms_read_service.c @@ -218,8 +218,9 @@ alternateArrayAccess(MmsServerConnection connection, namedVariable, structValue); } } - else + else { value = MmsValue_getElement(arrayValue, index); + } else { value = MmsValue_createEmptyArray(numberOfElements); @@ -284,7 +285,7 @@ addNamedVariableToResultList(MmsVariableSpecification* namedVariable, MmsDomain* alternateArrayAccess(connection, alternateAccess, domain, nameIdStr, values, namedVariable); } - else { //getCompleteArray + else { /* return complete array */ MmsValue* value = mmsServer_getValue(connection->server, domain, nameIdStr, connection); appendValueToResultList(value, values); }