|
|
@ -1581,6 +1581,15 @@ Control_writeAccessControlObject(MmsMapping* self, MmsDomain* domain, char* vari
|
|
|
|
controlObject->interlockCheck = interlockCheck;
|
|
|
|
controlObject->interlockCheck = interlockCheck;
|
|
|
|
controlObject->mmsConnection = connection;
|
|
|
|
controlObject->mmsConnection = connection;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CheckHandlerResult checkResult = CONTROL_ACCEPTED;
|
|
|
|
|
|
|
|
if (controlObject->checkHandler != NULL) { /* perform operative tests */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
checkResult = controlObject->checkHandler((ControlAction) controlObject,
|
|
|
|
|
|
|
|
controlObject->checkHandlerParameter, ctlVal, testCondition, interlockCheck);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(checkResult == CONTROL_ACCEPTED){
|
|
|
|
initiateControlTask(controlObject);
|
|
|
|
initiateControlTask(controlObject);
|
|
|
|
|
|
|
|
|
|
|
|
setState(controlObject, STATE_WAIT_FOR_ACTIVATION_TIME);
|
|
|
|
setState(controlObject, STATE_WAIT_FOR_ACTIVATION_TIME);
|
|
|
@ -1590,6 +1599,13 @@ Control_writeAccessControlObject(MmsMapping* self, MmsDomain* domain, char* vari
|
|
|
|
|
|
|
|
|
|
|
|
indication = DATA_ACCESS_ERROR_SUCCESS;
|
|
|
|
indication = DATA_ACCESS_ERROR_SUCCESS;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
else{
|
|
|
|
|
|
|
|
indication = (MmsDataAccessError) checkResult;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else{
|
|
|
|
|
|
|
|
controlObject->operateTime = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
MmsValue_update(controlObject->oper, value);
|
|
|
|
MmsValue_update(controlObject->oper, value);
|
|
|
@ -1681,7 +1697,6 @@ Control_writeAccessControlObject(MmsMapping* self, MmsDomain* domain, char* vari
|
|
|
|
if (controlObject->timeActivatedOperate) {
|
|
|
|
if (controlObject->timeActivatedOperate) {
|
|
|
|
controlObject->timeActivatedOperate = false;
|
|
|
|
controlObject->timeActivatedOperate = false;
|
|
|
|
abortControlOperation(controlObject);
|
|
|
|
abortControlOperation(controlObject);
|
|
|
|
indication = DATA_ACCESS_ERROR_SUCCESS;
|
|
|
|
|
|
|
|
goto free_and_return;
|
|
|
|
goto free_and_return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|