void WriteVariable(parameters paras, out results rets) { rets = new results(); result rst = new result(); ThreadUpdate tusend = new ThreadUpdate(); if (paras.Count != 1) { rets.response = rspCode.negitive; rets.resDesc = "More than 1 variable to read."; saveLogfile(rets.resDesc); } else { CDDLBase ddb = new CDDLBase(); if (hartDev.getItembyName((string)paras[0].value, ref ddb)) { if (ddb.GetType() == typeof(CDDLVar)) { CDDLVar vartowrite = (CDDLVar)ddb; hCcommandDescriptor pCmdDesc = vartowrite.getWrCmdList().ElementAt(0); CDDLCmd pCmd = hartDev.Cmds.getCmdByNumber(pCmdDesc.cmdNumber); if (hartDev.pCmdDispatch.SendCmd(pCmd, pCmdDesc.transNumb, null, logSw) == Common.SUCCESS) { saveLogfile("Command {0}, transaction {1} sent.", pCmdDesc.cmdNumber, pCmdDesc.transNumb); returncode creply = hartDev.parentform.ReData(null); hartDev.parentform.setThread(tusend); tusend.ucTranNumSent = (byte)pCmdDesc.transNumb; tusend.ucCmdSent = (byte)pCmdDesc.cmdNumber; hartDev.parentform.procRcvData(creply, pCmdDesc.transNumb, pCmd.getCmdNumber(), pCmd.getOperation()); rets.response = (hartDev.parentform.getCmdRes() as results).response;//getCmdRes //rst.name = (string)paras[0].value; //rst.rtype = resultDataType.floatpoint; //rst.value = vartowrite.GetDispString(); rets.Add(rst); } else { rets.response = rspCode.negitive; rets.resDesc = String.Format("The Command {0}, transaction {1} cannot be sent.", pCmdDesc.cmdNumber, pCmdDesc.transNumb); saveLogfile(rets.resDesc); } } else { rets.response = rspCode.negitive; rets.resDesc = "The item is not a variable."; saveLogfile(rets.resDesc); } } else { rets.response = rspCode.negitive; rets.resDesc = "The variable name is not valid."; saveLogfile(rets.resDesc); } } }
public void setCmdPtr(CDDLCmd pCMD) { pCmd = pCMD; }