- fixed - server doesn't respond SBOw when waiting for select callback (LIB61850-313)

pull/383/head
Michael Zillgith 3 years ago
parent f60ff65fc4
commit 3e5fadce4b

@ -801,11 +801,13 @@ executeStateMachine:
} }
} }
else {
updateNextControlTimeout(self, Hal_getTimeInMs() + 100);
}
} }
break; break;
case STATE_WAIT_FOR_ACTIVATION_TIME: case STATE_WAIT_FOR_ACTIVATION_TIME:
case STATE_WAIT_FOR_EXECUTION: case STATE_WAIT_FOR_EXECUTION:
{ {
@ -876,6 +878,9 @@ executeStateMachine:
goto executeStateMachine; goto executeStateMachine;
} }
else {
updateNextControlTimeout(self, Hal_getTimeInMs() + 10);
}
} }
break; break;
@ -2121,6 +2126,8 @@ Control_writeAccessControlObject(MmsMapping* self, MmsDomain* domain, char* vari
setState(controlObject, STATE_WAIT_FOR_SELECT); setState(controlObject, STATE_WAIT_FOR_SELECT);
updateNextControlTimeout(self, Hal_getTimeInMs() + 100);
indication = DATA_ACCESS_ERROR_NO_RESPONSE; indication = DATA_ACCESS_ERROR_NO_RESPONSE;
} }
else { else {

@ -2832,7 +2832,7 @@ enqueueReport(ReportControl* reportControl, bool isIntegrity, bool isGI, uint64_
#if (DEBUG_IED_SERVER == 1) #if (DEBUG_IED_SERVER == 1)
printf("IED_SERVER: REMOVE report with ID "); printf("IED_SERVER: REMOVE report with ID ");
printReportId(buffer->oldestReport); 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 #endif
buffer->oldestReport = buffer->oldestReport->next; buffer->oldestReport = buffer->oldestReport->next;

Loading…
Cancel
Save