示例#1
0
        public MethodRunResult Run(string options)
        {
            var result = new MethodRunResult();

            result = new MethodRunResult();
            Homegenie.RaiseEvent(
                Domains.HomeGenie_System,
                Domains.HomeAutomation_HomeGenie_Automation,
                ProgramBlock.Address.ToString(),
                "Arduino Sketch Upload",
                "Arduino.UploadOutput",
                "Upload started"
                );
            string[] outputResult = ArduinoAppFactory.UploadSketch(Path.Combine(
                                                                       AppDomain.CurrentDomain.BaseDirectory,
                                                                       "programs",
                                                                       "arduino",
                                                                       ProgramBlock.Address.ToString()
                                                                       )).Split('\n');
            //
            for (int x = 0; x < outputResult.Length; x++)
            {
                if (!String.IsNullOrWhiteSpace(outputResult[x]))
                {
                    Homegenie.RaiseEvent(
                        Domains.HomeGenie_System,
                        Domains.HomeAutomation_HomeGenie_Automation,
                        ProgramBlock.Address.ToString(),
                        "Arduino Sketch",
                        "Arduino.UploadOutput",
                        outputResult[x]
                        );
                    Thread.Sleep(500);
                }
            }
            //
            Homegenie.RaiseEvent(
                Domains.HomeGenie_System,
                Domains.HomeAutomation_HomeGenie_Automation,
                ProgramBlock.Address.ToString(),
                "Arduino Sketch",
                "Arduino.UploadOutput",
                "Upload finished"
                );
            return(result);
        }
示例#2
0
 public override MethodRunResult Run(string options)
 {
     var result = new MethodRunResult();
     HomeGenie.RaiseEvent(
         Domains.HomeGenie_System,
         Domains.HomeAutomation_HomeGenie_Automation,
         ProgramBlock.Address.ToString(),
         "Arduino Sketch Upload",
         "Arduino.UploadOutput",
         "Upload started"
     );
     string[] outputResult = ArduinoAppFactory.UploadSketch(Path.Combine(
         AppDomain.CurrentDomain.BaseDirectory,
         "programs",
         "arduino",
         ProgramBlock.Address.ToString()
     )).Split('\n');
     //
     foreach (var res in outputResult)
     {
         if (String.IsNullOrWhiteSpace(res)) continue;
         HomeGenie.RaiseEvent(
             Domains.HomeGenie_System,
             Domains.HomeAutomation_HomeGenie_Automation,
             ProgramBlock.Address.ToString(),
             "Arduino Sketch",
             "Arduino.UploadOutput",
             res
         );
         Thread.Sleep(500);
     }
     //
     HomeGenie.RaiseEvent(
         Domains.HomeGenie_System,
         Domains.HomeAutomation_HomeGenie_Automation,
         ProgramBlock.Address.ToString(),
         "Arduino Sketch",
         "Arduino.UploadOutput",
         "Upload finished"
     );
     return result;
 }