Пример #1
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();
                }
            }
        }
Пример #2
0
 public static void UpdateDisplay(ushort temp, ushort humidity, Int32 pressurePa, UInt32 lux, UInt16 infraredSpectrum, AdcSample sample)
 {
     canvas.DrawRectangleFilled(
         180, 30,
         300, 162,
         ColorHelpers.GetRGB24toRGB565(0, 0, 0));
     canvas.DrawString(
         TextAlignmentX, 40,
         ColorHelpers.GetRGB24toRGB565(255, 255, 255),
         VerdanaBold14.ID,
         temp.ToString());
     canvas.DrawString(
         TextAlignmentX, 65,
         ColorHelpers.GetRGB24toRGB565(255, 255, 255),
         VerdanaBold14.ID,
         humidity.ToString());
     canvas.DrawString(
         TextAlignmentX, 90,
         ColorHelpers.GetRGB24toRGB565(255, 255, 255),
         VerdanaBold14.ID,
         lux.ToString());
     canvas.DrawString(
         TextAlignmentX, 115,
         ColorHelpers.GetRGB24toRGB565(255, 255, 255),
         VerdanaBold14.ID,
         infraredSpectrum.ToString());
     canvas.DrawString(
         TextAlignmentX, 140,
         ColorHelpers.GetRGB24toRGB565(255, 255, 255),
         VerdanaBold14.ID,
         pressurePa.ToString());
     canvas.DrawProgressBar(
         148, 171,
         154, 10,
         RoundedCornerStyle.All,
         RoundedCornerStyle.All,
         ColorHelpers.GetRGB24toRGB565(214, 214, 214),
         ColorHelpers.GetRGB24toRGB565(108, 224, 217),
         ColorHelpers.GetRGB24toRGB565(255, 255, 255),
         ColorHelpers.GetRGB24toRGB565(233, 15, 7),
         (int)DaqUtility.MapRange(0, 4095, 0, 100, (double)sample.Values[(int)ADC.A0]));
     canvas.Execute();
 }