コード例 #1
0
ファイル: SerialExtensions.cs プロジェクト: lulzzz/CNCLib
        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);
                    }
                }
            }
        }
コード例 #2
0
ファイル: Extensions.cs プロジェクト: yazici/CNCLib
 public static string GetAxisName(this MachineDto m, int axis)
 {
     return(GCodeHelper.IndexToAxisName(axis));
 }
コード例 #3
0
ファイル: WorkOffsetViewModel.cs プロジェクト: icprog/CNCLib
 private void SetField(int axis, int offset, decimal?val)
 {
     _g54[axis, offset] = val;
     RaisePropertyChanged($"G{54 + offset}{GCodeHelper.IndexToAxisName(axis)}");
 }
コード例 #4
0
ファイル: Extensions.cs プロジェクト: rockxcn/CNCLib
 public static string GetAxisName(this Logic.Contracts.DTO.Machine m, int axis)
 {
     return(GCodeHelper.IndexToAxisName(axis));
 }