public void ExecuteActions(TLHPacket[] temperature, MoisturePacket[] moisture, ManualPacket manual, LimitPacket limits) { // Process limit changes LimitsAnalyzer limitAnalyzer = new LimitsAnalyzer(); limitAnalyzer.ChangeGreenhouseLimits(limits); // Process manual controls ManualPacketAnalyzer manualAnalyzer = new ManualPacketAnalyzer(); manualAnalyzer.SetManualValues(manual); // Process sensor data AnalyzeData(temperature, moisture); }
/// <summary> /// Execute the actions required for proper greenhouse functioning, based on the input data from API calls /// </summary> /// <param name="sensorData"></param> /// <param name="manualControls"></param> /// <param name="automationData"></param> public void ExecuteActions(SensorPacket[] sensorData, ManualControlPacket manualControls, AutomationPacket automationData) { // Make sure the Arduino stays awake ArduinoControlSender.Instance.CheckArduinoStatus(); // Process limit changes LimitsAnalyzer limitAnalyzer = new LimitsAnalyzer(); limitAnalyzer.ChangeGreenhouseLimits(automationData); // Make sure the Arduino stays awake ArduinoControlSender.Instance.CheckArduinoStatus(); // Process manual data ManualPacketAnalyzer manualAnalyzer = new ManualPacketAnalyzer(); manualAnalyzer.SetManualValues(manualControls); // Make sure the Arduino stays awake ArduinoControlSender.Instance.CheckArduinoStatus(); // Process sensor data AnalyzeData(sensorData); }