diff --git a/src/iec61850/server/mms_mapping/control.c b/src/iec61850/server/mms_mapping/control.c index facba5f9..ea6bef22 100644 --- a/src/iec61850/server/mms_mapping/control.c +++ b/src/iec61850/server/mms_mapping/control.c @@ -801,11 +801,13 @@ executeStateMachine: } } + else { + updateNextControlTimeout(self, Hal_getTimeInMs() + 100); + } } break; - case STATE_WAIT_FOR_ACTIVATION_TIME: case STATE_WAIT_FOR_EXECUTION: { @@ -876,6 +878,9 @@ executeStateMachine: goto executeStateMachine; } + else { + updateNextControlTimeout(self, Hal_getTimeInMs() + 10); + } } break; @@ -2121,6 +2126,8 @@ Control_writeAccessControlObject(MmsMapping* self, MmsDomain* domain, char* vari setState(controlObject, STATE_WAIT_FOR_SELECT); + updateNextControlTimeout(self, Hal_getTimeInMs() + 100); + indication = DATA_ACCESS_ERROR_NO_RESPONSE; } else { diff --git a/src/iec61850/server/mms_mapping/reporting.c b/src/iec61850/server/mms_mapping/reporting.c index 0b45ab8b..f7020dd8 100644 --- a/src/iec61850/server/mms_mapping/reporting.c +++ b/src/iec61850/server/mms_mapping/reporting.c @@ -2832,7 +2832,7 @@ enqueueReport(ReportControl* reportControl, bool isIntegrity, bool isGI, uint64_ #if (DEBUG_IED_SERVER == 1) printf("IED_SERVER: REMOVE report with ID "); printReportId(buffer->oldestReport); - printf(" (index: %li, size: %i)\n", (int)((uint8_t*)(buffer->oldestReport) - (uint8_t*)(buffer->memoryBlock)), buffer->oldestReport->entryLength); + printf(" (index: %i, size: %i)\n", (int)((uint8_t*)(buffer->oldestReport) - (uint8_t*)(buffer->memoryBlock)), buffer->oldestReport->entryLength); #endif buffer->oldestReport = buffer->oldestReport->next;