// Input Validation Methods // Method to create a phidget class based on the configuration combo box and assign it to the correct hub port public PhidgetSensor CreateSensor(string sensorName, int hubPort, string hubName, bool wireless) { PhidgetSensor ret = null; // Using -1 as a parameter for debug purposes, come back and change it to the minThreshold and maxThreshold variable switch (sensorName) { case "Moisture": ret = new MyMoistureSensor(hubPort, sensorName, hubName, MinMoisture, MaxMoisture, wireless); break; case "Light": ret = new MyLightSensor(hubPort, sensorName, hubName, -1, -1, wireless); break; case "Humidity/Air Temperature": ret = new MyHumidityAirTemperatureSensor(hubPort, sensorName, hubName, MinHumidity, MaxHumidity, MinAirTemperature, MaxAirTemperature, wireless); break; case "Oxygen": ret = new MyOxygenSensor(hubPort, sensorName, hubName, MinOxygen, MaxOxygen, wireless); break; case "Soil Temperature": ret = new MySoilTemperatureSensor(hubPort, sensorName, hubName, MinSoilTemperature, MaxSoilTemperature, wireless); break; case "None": ret = new PhidgetSensor(hubPort, "None", hubName, 0, 0, true); break; } return(ret); }
// Timer tick event private void Tmr_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { // store gps location first time around if (!_gpsInitialDataStored && GpsEnabled) { string[] tmp = _gps.ProduceData(); _data.InsertData(tmp[0], tmp[1], tmp[2]); _gpsInitialDataStored = true; } // store data from VOC string[] voc = _aqs.ProduceVOCData(); string[] co2 = _aqs.ProduceCO2Data(); _data.InsertData(voc[0], voc[1], voc[2]); _data.InsertData(co2[0], co2[1], co2[2]); // store data from all sensors foreach (VintHub vintHub in _savedVintHubs) { foreach (PhidgetSensor sensor in vintHub.AllSensors) { if (sensor.SensorType != "None") { if (sensor.SensorType == "Humidity/Air Temperature") { MyHumidityAirTemperatureSensor humiditySensor = (MyHumidityAirTemperatureSensor)sensor; string[] humidity = humiditySensor.ProduceHumidityData(); string[] temp = humiditySensor.ProduceAirTemperatureData(); _data.InsertData(humidity[0], humidity[1], humidity[2]); _data.InsertData(temp[0], temp[1], temp[2]); } else { string[] tmp = sensor.ProduceData(); _data.InsertData(tmp[0], tmp[1], tmp[2]); } } } } }