예제 #1
0
 public static void I2cBmp085Test()
 {
     Log("I2cBmp085Test begin");
     try {
         var bmp   = new BoschBmp085(daq.I2cPort);
         var count = 3;
         while (count-- != 0)
         {
             Log("Temp: " + bmp.ReadTemperatureCelsius() + " Celsius");
             Log("Barometric Pressure: " + bmp.ReadPressurePascals() + " Pascals");
             Log("Altitude: " + bmp.ReadAltitudeMeters() + " Meters");
             Thread.Sleep(500);
             Log("--------------------------------------------");
         }
     } catch (I2cException e) {
         Log("I2C transaction failed: " + e.Message);
     }
     Log("I2cBmp085Test end");
 }
예제 #2
0
        public static void Main()
        {
            daq.Initialize(GoSockets.Socket4);

            var state = daq.GetClockState();

            if (state == NwazetDAQ.ClockState.Invalid)
            {
                daq.SetDateTime(new DateTime(2012, 10, 05, 20, 39, 00));
            }

            var usartConfig = new UsartConfig();

            usartConfig.BaudRate = UsartBaudRate.Baud57600;
            daq.UsartPort.SetConfig(usartConfig);

            daq.UsartPort.Write("\r\n\r\nNwazet DAQ Pro Kit - demo\r\n");

            canvas.Initialize(GoSockets.Socket5);
            canvas.SetOrientation(Orientation.Landscape);

            InitDisplay();

            seg.SetBrightness(.1f);
            seg.SetColon(true);

            while (true)
            {
                var hih    = new HIH613x(daq.I2cPort);
                var bmp085 = new BoschBmp085(daq.I2cPort);
                var taos   = new TaosTSL256x(daq.I2cPort);

                var       pressure = 0;
                AdcSample sample   = null;
                try {
                    while (true)
                    {
                        try {
                            seg.SetBrightness(pot.GetValue());
                            sample = daq.ReadAnalogInputs();
                            ShowTime(sample.Time);
                            hih.Read();
                            pressure = bmp085.ReadPressurePascals();
                            taos.Read();
                        } catch (I2cException e) {
                            Debug.Print("I2C transaction failed: " + e.Message);
                            daq.I2cPort.BusReset();
                        }
                        UpdateDisplay(hih.TemperatureCelsius, hih.RelativeHumidityPercent, pressure, taos.Lux, taos.InfraredSpectrum, sample);

                        daq.UsartPort.Write(
                            sample.Time.ToString() + "," +
                            hih.TemperatureCelsius + "," +
                            hih.RelativeHumidityPercent + "," +
                            pressure + "," +
                            taos.Lux + "," +
                            taos.InfraredSpectrum + "," +
                            sample.Values[(int)ADC.A0].ToString()
                            + "\r\n");
                    }
                } catch (Exception e) {
                    Debug.Print("Other exception: " + e.Message);
                    hih.Dispose();
                    bmp085.Dispose();
                    taos.Dispose();
                }
            }
        }