Exemplo n.º 1
0
        internal static FiringPlan FromFurnaceString(string data)
        {
            var program                = new FiringPlan();
            var nameBlocks             = data.Split('|');
            var triplets               = nameBlocks[1].Split(';');
            List <ProgramBlock> blocks = new List <ProgramBlock>();

            foreach (var triplet in triplets)
            {
                string[] tdp = triplet.Split('*');
                if (tdp.Length == 3)
                {
                    var block = new ProgramBlock()
                    {
                        TargetTemperature = int.Parse(tdp[0]),
                        TemperingDuration = int.Parse(tdp[1]),
                        PowerDrain        = (Wattage)int.Parse(tdp[2])
                    };
                    blocks.Add(block);
                }
                else
                {
                    throw new Exception($"Program is in wrong format! [{data}]");
                }
            }
            program.Name   = nameBlocks[0];
            program.Blocks = blocks.ToArray();
            return(program);
        }
Exemplo n.º 2
0
 private void ParseProgram(string data)
 {
     try
     {
         Program = FiringPlan.FromFurnaceString(data);
     }
     catch (Exception ex)
     {
         L.Add(ex.Message);
     }
 }
Exemplo n.º 3
0
        public PlanDesigner(FiringPlan p, IEnumerable <string> names)
        {
            InitializeComponent();

            plan          = p;
            existingNames = names;
            NameBox.Text  = plan.Name;
            foreach (var block in plan.Blocks)
            {
                ProgramValues.Rows.Add(block.TargetTemperature, block.TemperingDuration, ((int)block.PowerDrain).ToString());
            }
        }
Exemplo n.º 4
0
 private void LoadProgramsFromSettings()
 {
     if (string.IsNullOrEmpty(Properties.Settings.Default.Plans))
     {
         return;
     }
     try
     {
         string[] programs = Properties.Settings.Default.Plans.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);
         P = programs.Select(x => FiringPlan.FromFurnaceString(x.Trim())).ToList();
         UpdateAvailablePrograms();
     }
     catch
     {
         L.Add("Wrong data in Programs!");
     }
 }
Exemplo n.º 5
0
 public void SetCustomProgram(FiringPlan p)
 {
     SendMessage(new Message(MessageType.SetProgram, p.ToFurnaceString()));
 }