public static async Task SendMacroCommandAsync(this ISerial serial, Machine machine, string commandString) { string[] separators = { @"\n" }; string[] cmds = commandString.Split(separators, StringSplitOptions.RemoveEmptyEntries); foreach (string s in cmds) { string[] infos = s.Split(':'); int axis; if (infos.Length > 1 && string.Compare(infos[0], @";probe", true) == 0 && -1 != (axis = GCodeHelper.AxisNameToIndex(infos[1]))) { if (false == await serial.SendProbeCommandAsync(machine, axis)) { break; } } else if (infos.Length == 1 && string.Compare(infos[0], @";beep", true) == 0) { SystemSounds.Beep.Play(); } else { if (s.TrimEnd().EndsWith("?")) { var result = await serial.SendCommandAsync(s.TrimEnd().TrimEnd('?'), GCodeSerial.DefaultTimeout); if (result?.LastOrDefault()?.ReplyType.HasFlag(EReplyType.ReplyError) == false) { return; } } else { await serial.SendCommandAsync(s, GCodeSerial.DefaultTimeout); } } } }
public static string GetAxisName(this MachineDto m, int axis) { return(GCodeHelper.IndexToAxisName(axis)); }
private void SetField(int axis, int offset, decimal?val) { _g54[axis, offset] = val; RaisePropertyChanged($"G{54 + offset}{GCodeHelper.IndexToAxisName(axis)}"); }
public static string GetAxisName(this Logic.Contracts.DTO.Machine m, int axis) { return(GCodeHelper.IndexToAxisName(axis)); }