Esempio n. 1
0
        private async void UpdateSensorData(Pr1132Configuration config, int index)
        {
            var group = config.Groups[index];

            var cnt = group.Sensors.Count(x => x);

            if (cnt > 0)
            {
                var data = await ApplicationData.Settings.CreateGateway().LoadSensorData();

                Sensors.Blocks.Clear();

                if (data != null)
                {
                    for (int i = 0; i < group.Sensors.Length; i++)
                    {
                        var sensorData = data[i];

                        if (group.Sensors[i] && sensorData != null)
                        {
                            var para = PrepareSensorData(cnt > 1, i, sensorData);

                            Sensors.Blocks.Add(para);
                        }
                    }
                }
            }
        }
Esempio n. 2
0
        public static Pr1132Configuration ReloadConfiguration()
        {
            using (var isf = IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (!isf.FileExists(NOOLITE_SETTINGS_FILENAME))
                {
                    return(null);
                }

                using (var stream = isf.OpenFile(NOOLITE_SETTINGS_FILENAME, FileMode.Open))
                {
                    return(config = Pr1132Configuration.Deserialize(stream));
                }
            }
        }
Esempio n. 3
0
        private ObservableCollection <GroupModel> BuildGroupListModel(Pr1132Configuration config)
        {
            var collection = new ObservableCollection <GroupModel>();

            for (int i = 0; i < config.Groups.Length; i++)
            {
                var group = config.Groups[i];

                if (group.Enabled)
                {
                    var icon  = ApplicationData.Settings.GetIcon(i);
                    var model = new GroupModel(group, icon, i);
                    collection.Add(model);
                }
            }

            return(collection);
        }
Esempio n. 4
0
        private GroupDetailsModel BuildGroupModel(Pr1132Configuration config, int index)
        {
            var group      = config.Groups[index];
            var icon       = ApplicationData.Settings.GetIcon(index);
            var groupModel = new GroupDetailsModel(group, icon, index);

            foreach (var channelNumber in group.ChannelNumbers)
            {
                if (channelNumber.HasValue)
                {
                    var channel      = config.Channels[channelNumber.Value];
                    var channelModel = new ChannelModel(channel, (byte)channelNumber.Value);
                    groupModel.Channels.Add(channelModel);
                }
            }

            return(groupModel);
        }
Esempio n. 5
0
        public static Pr1132Configuration SaveConfiguration(byte[] bytes)
        {
            using (var stream = new MemoryStream(bytes))
            {
                var cfg = Pr1132Configuration.Deserialize(stream);

                if (cfg != null)
                {
                    config = cfg;

                    using (var isf = IsolatedStorageFile.GetUserStoreForApplication())
                    {
                        using (var file = isf.OpenFile(NOOLITE_SETTINGS_FILENAME, FileMode.OpenOrCreate))
                        {
                            file.Write(bytes, 0, bytes.Length);
                        }
                    }
                }

                return(cfg);
            }
        }
Esempio n. 6
0
 public static Pr1132Configuration ClearCachedConfiguration()
 {
     return(config = null);
 }