/// <summary> /// 设置剪切板内容 /// </summary> /// <param name="clipNode"></param> /// <param name="opType"></param> private void setClipboard(GxTreeNode clipNode, OPERATION_TYPE opType) { clearClipboard(); _clipboardTreeNode = clipNode; _lastOpType = opType; }
public ResetTunnelRulesMsg(int workFaceId, int tunnelID, string tableName, DateTime dt) : base(COMMAND_ID.RESET_TUNNEL_RULES, dt) { this._workFaceID = workFaceId; this._tunnelID = tunnelID; this._tableName = tableName; this._operationType = OPERATION_TYPE.UPDATE; }
/// <summary> /// 构造方法 /// </summary> /// <param name="tunnelID">更新数据的巷道ID</param> /// <param name="tableName">数据对应的表名</param> /// <param name="operationType">操作类型</param> /// <param name="dt">数据更新时间</param> public UpdateWarningDataMsg(int workFaceId, int tunnelID, string tableName, OPERATION_TYPE operationType, DateTime dt) : base(COMMAND_ID.UPDATE_WARNING_DATA, dt) { this._workFaceID = workFaceId; this._tunnelID = tunnelID; this._tableName = tableName; this._operationType = operationType; }
public void SetOperandsAndOperation(sbyte a, sbyte b, OPERATION_TYPE operation, bool isError = false) { lock (_object) { _operandA = a; _operandB = b; _operation = operation; _resetEvent.Set(); _isError = isError; } }
public void Start() { bool checkOperandA = Utils.CheckOperandRange(int.Parse(ALUViewModel.Instance.OperandA)); bool checkOperandB = Utils.CheckOperandRange(int.Parse(ALUViewModel.Instance.OperandB)); if (checkOperandA && checkOperandB) { TMR tmr = new TMR(); sbyte a = sbyte.Parse(ALUViewModel.Instance.OperandA), b = sbyte.Parse(ALUViewModel.Instance.OperandB); OPERATION_TYPE type = Utils.StringOperationToEnum(ALUViewModel.Instance.WybranaOperacja); bool[] isErr = new bool[3]; isErr[0] = BledyViewModel.Instance.IsCheckedBox1; isErr[1] = BledyViewModel.Instance.IsCheckedBox2; isErr[2] = BledyViewModel.Instance.IsCheckedBox3; tmr.SimulateOnce(a, b, type, isErr); WizualizacjaViewModel.Instance.WynikALU1 = Utils.SbyteToBinaryString(tmr.GetALU_Result(0), 8); WizualizacjaViewModel.Instance.WynikALU2 = Utils.SbyteToBinaryString(tmr.GetALU_Result(1), 8); WizualizacjaViewModel.Instance.WynikALU3 = Utils.SbyteToBinaryString(tmr.GetALU_Result(2), 8); WynikDecimal = tmr.GetVoter_Result(); string voter = Utils.SbyteToBinaryString(WynikDecimal, 8); WizualizacjaViewModel.Instance.Wynik = voter; WizualizacjaViewModel.Instance.OperandABinary = Utils.SbyteToBinaryString(sbyte.Parse(ALUViewModel.Instance.OperandA), 8); WizualizacjaViewModel.Instance.OperandBBinary = Utils.SbyteToBinaryString(sbyte.Parse(ALUViewModel.Instance.OperandB), 8); Utils.WriteLog("Kliknięto start"); Utils.WriteLog("Parametry uruchomienia: " + "\nOperand A: " + ALUViewModel.Instance.OperandA + "\nOperand B: " + ALUViewModel.Instance.OperandB + "\nOperacja: " + ALUViewModel.Instance.WybranaOperacja + "\nBłąd ALU1: " + BledyViewModel.Instance.IsCheckedBox1.ToString() + " - " + WizualizacjaViewModel.Instance.WynikALU1.ToString() + "\nBłąd ALU2: " + BledyViewModel.Instance.IsCheckedBox2.ToString() + " - " + WizualizacjaViewModel.Instance.WynikALU2.ToString() + "\nBłąd ALU3: " + BledyViewModel.Instance.IsCheckedBox3.ToString() + " - " + WizualizacjaViewModel.Instance.WynikALU3.ToString() + "\nWynik: " + WynikDecimal.ToString()); } else { MessageBox.Show("Wartości operandów powinny być z zakresu <-128, 127>"); } }
public sbyte DoOperation(sbyte a, sbyte b, OPERATION_TYPE op) { switch (op) { case OPERATION_TYPE.ADD: return(Add(a, b)); case OPERATION_TYPE.SUB: return(Sub(a, b)); case OPERATION_TYPE.OR: return(Or(a, b)); case OPERATION_TYPE.AND: return(And(a, b)); case OPERATION_TYPE.XOR: return(Xor(a, b)); } return(0); }
public void SimulateOnce(sbyte operandA, sbyte operandB, OPERATION_TYPE operation, bool[] isErr) { _voter.Start(); var collection = _alu.Zip(isErr, (a, e) => new { a, e }); foreach (var item in collection) { item.a.Start(); item.a.SetOperandsAndOperation(operandA, operandB, operation, item.e); } foreach (var item in _alu) { item.Join(); } _voter.Join(); }
public GeologyMsg(int workFaceId, int tunnelID, string tableName, DateTime dt, COMMAND_ID commandId) : base(COMMAND_ID.RESET_TUNNEL_RULES, dt) { this._workFaceID = workFaceId; this._tunnelID = tunnelID; this._tableName = tableName; this._operationType = OPERATION_TYPE.UPDATE; this._commandId = commandId; }
/// <summary> /// 清空剪切板 /// </summary> private void clearClipboard() { restoreNodeOriginalIcon(); _clipboardTreeNode = null; _lastOpType = OPERATION_TYPE.OP_NONE; }
public Operation(string Symbol, PRIORITY Priority, OPERATION_TYPE Type = OPERATION_TYPE.BINARY) { this.Symbol = Symbol; this.Priority = Priority; this.Type = Type; }
public void Reset() { _operandA = _operandB = 0; _operation = OPERATION_TYPE.NONE; _resetEvent.Reset(); }