Exemplo n.º 1
0
        private static void RunDemo1()
        {
            Debug.WriteLine("*********DS18B20 Demo**********\n");
            Debug.WriteLine("Number of Devices: " + _ds18B20.NumberOfDevices() + "\n");

            Debug.WriteLine("Testing Setting Resolutions");
            _ds18B20.SetResolution(Device0, DS18B20.Resolution.Resolution9Bit);
            _ds18B20.SetResolution(Device1, DS18B20.Resolution.Resolution11Bit);
            _ds18B20.SetResolution(Device2, DS18B20.Resolution.Resolution12Bit);

            /* Alternate Method 1
             * foreach (byte[] device in _ds18B20.DeviceList)
             * {
             *  _ds18B20.SetResolution(device, DS18B20.Resolution.Resolution9Bit);
             * }
             */

            /* Alternate Method 2
             * _ds18B20.SetResolutionForAllDevices(DS18B20.Resolution.Resolution9Bit);
             */

            Debug.WriteLine("\nSetting Resolutions done, now reading back resolutions.");
            Debug.WriteLine("Current Resolution for Device 0: " + _ds18B20.GetResolutionString(_ds18B20.GetResolution(Device0)));
            Debug.WriteLine("Current Resolution for Device 1: " + _ds18B20.GetResolutionString(_ds18B20.GetResolution(Device1)));
            Debug.WriteLine("Current Resolution for Device 2: " + _ds18B20.GetResolutionString(_ds18B20.GetResolution(Device2)) + "\n");

            /* Alternate method
             * foreach (byte[] device in _ds18B20.DeviceList)
             * {
             *  Debug.WriteLine("Current Resolution for " + GetDeviceId(device) + " - "  + _ds18B20.GetResolutionString(_ds18B20.GetResolution(device)));
             * }
             */

            Debug.WriteLine("Test - Checking for Parasitic Devices");
            Debug.WriteLine("Is Parasitic? -" + _ds18B20.IsParasitic(Device0));
            Debug.WriteLine("Is Parasitic? -" + _ds18B20.IsParasitic(Device1));
            Debug.WriteLine("Is Parasitic? -" + _ds18B20.IsParasitic(Device2) + "\n");

            /* Alternate method
             * foreach (byte[] device in _ds18B20.DeviceList)
             * {
             *  Debug.WriteLine("Is Parasitic? -" + _ds18B20.IsParasitic(device));
             * }
             */

            Debug.WriteLine("Test - Resetting Alarms");
            Debug.WriteLine("Resetting Alarms 0 yields " + _ds18B20.ResetAlarmSettings(Device0));
            Debug.WriteLine("Resetting Alarms 1 yields " + _ds18B20.ResetAlarmSettings(Device1));
            Debug.WriteLine("Resetting Alarms 2 yields " + _ds18B20.ResetAlarmSettings(Device2) + "\n");

            /* ResetAlarmSettings - Alternate Method
             * foreach (byte[] device in _ds18B20.DeviceList)
             * {
             *  _ds18B20.ResetAlarmSettings(device);
             * }
             */

            Debug.WriteLine("Test - Setting individual Alarms");
            _ds18B20.SetLowTempertureAlarm(Device0, -55);
            _ds18B20.SetHighTempertureAlarm(Device0, 100);
            _ds18B20.SetLowTempertureAlarm(Device1, 124);
            _ds18B20.SetHighTempertureAlarm(Device1, 125);
            _ds18B20.SetLowTempertureAlarm(Device2, -55);
            _ds18B20.SetHighTempertureAlarm(Device2, 125);

            /* Setting Alarms - alternate method 1
             * _ds18B20.SetBothTemperatureAlarms(Device0, -55, 125);
             * _ds18B20.SetBothTemperatureAlarms(Device0, 30, 125);
             * _ds18B20.SetBothTemperatureAlarms(Device2, -55, 125);
             */

            /* Setting Alarms - Alternate method 2
             * _ds18B20.SetAlarmsForAlllDevices(-55, 125);
             */

            /* Setting alarms - Alternate method 3
             * foreach (byte[] device in _ds18B20.DeviceList)
             * {
             * _ds18B20.SetBothTemperatureAlarms(device, -55, 125);
             * }
             */

            Debug.WriteLine("\nSetting Alarms done, now reading back alarm settings.");
            Debug.WriteLine("Low Temp Alarm for Device0 - " + _ds18B20.ReadLowTempAlarmSetting(Device0) + "°C");
            Debug.WriteLine("High Temp Alarm for Device0 - " + _ds18B20.ReadHighTempAlarmSetting(Device0) + "°C");
            Debug.WriteLine("Low Temp Alarm for Device1 - " + _ds18B20.ReadLowTempAlarmSetting(Device1) + "°C");
            Debug.WriteLine("High Temp Alarm for Device1 - " + _ds18B20.ReadHighTempAlarmSetting(Device1) + "°C");
            Debug.WriteLine("Low Temp Alarm for Device2 - " + _ds18B20.ReadLowTempAlarmSetting(Device2) + "°C");
            Debug.WriteLine("High Temp Alarm for Device2 - " + _ds18B20.ReadHighTempAlarmSetting(Device2) + "°C\n");

            /* Read Alarm Settings - Alternate method
             * foreach (byte[] device in _ds18B20.DeviceList)
             * {
             *  Debug.WriteLine("Low Temp Alarm for Device - " + GetDeviceId(device) + " - " + _ds18B20.ReadLowTempAlarmSetting(device));
             *  Debug.WriteLine("High Temp Alarm for Device - " + GetDeviceId(device) + " - " + _ds18B20.ReadHighTempAlarmSetting(device));
             * }
             */

            Debug.WriteLine("Only Device 1 (" + GetDeviceId(Device1) + ") will have an alarm when reading the temperature.\n");
        }