private void SpindleState_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { _rpmDisplay = _spindleStatePrev == GCode.SpindleState.Off ? _rpmInput : _rpm; if (!(SpindleState.Value.HasFlag(GCode.SpindleState.Off | GCode.SpindleState.CW) || SpindleState.Value.HasFlag(GCode.SpindleState.Off | GCode.SpindleState.CCW))) { OnPropertyChanged(nameof(SpindleState)); OnPropertyChanged(nameof(RPM)); _spindleStatePrev = SpindleState.Value; } }
void rbSpindleState_CheckedChanged(object sender, EventArgs e) { if (!silent) { RadioButton rb = (RadioButton)sender; if (rb.Checked) { _state = rb.Name == "rbSpindleCW" ? SpindleState.CW : (rb.Name == "rbSpindleCCW" ? SpindleState.CCW : SpindleState.Off); if (CommandGenerated != null) { CommandGenerated(string.Format((string)rb.Tag, "S" + this.txtRPM.Text)); } } } txtRPM.ReadOnly = _state != SpindleState.Off; }
private CNCState.CNCState CommitTool(int tool_id, ActionProgram.ActionProgram program, CNCState.CNCState state) { IAction action = null; IDriver driver = tool_drivers[tool_id]; if (driver is N700E_driver n700e) { SpindleState ss = state.ToolStates[tool_id] as SpindleState; action = n700e.CreateAction(ss.RotationState, ss.SpindleSpeed); } else if (driver is GPIO_driver gpio) { BinaryState bs = state.ToolStates[tool_id] as BinaryState; action = gpio.CreateAction(bs.Enabled); } else if (driver is RawModbus_driver modbus) { BinaryState bs = state.ToolStates[tool_id] as BinaryState; action = modbus.CreateAction(bs.Enabled); } else if (driver is Dummy_driver dummy) { action = dummy.CreateAction(); } else { throw new InvalidOperationException("invalid driver: " + driver); } if (action != null) { program.AddAction(action, state, state); return(state); } else { return(state); } }