Inheritance: BundleBase
示例#1
0
        public void GeneratesCorrectChecksumForFirmware()
        {
            var bundle = new FirmwareBundle();
            bundle.Load(ResourceManager.GetFirmwareBundle(), new ZipImplementation());

            Assert.AreEqual(bundle.Manifest.Firmware.CRC, Crc32.Calculate(bundle.Firmware));
        }
示例#2
0
        public void CanLoadInformationFromFirmwareBundle()
        {
            Stream testBundle = ResourceManager.GetFirmwareBundle();

            var bundle = new FirmwareBundle();
            bundle.Load(testBundle, new ZipImplementation());

            Assert.IsNotNull(bundle.Firmware);

            Assert.IsNotNull(bundle.Manifest);

            Assert.IsNotNull(bundle.Manifest.Firmware);
            Assert.AreEqual("tintin_fw.bin", bundle.Manifest.Firmware.Filename);
            Assert.AreEqual(new DateTime(2014, 5, 6, 6, 32, 23), bundle.Manifest.Firmware.TimestampDT);
            Assert.AreEqual(2824806042, bundle.Manifest.Firmware.CRC);
            Assert.AreEqual("v1_5", bundle.Manifest.Firmware.HardwareRevision);
            Assert.AreEqual("normal", bundle.Manifest.Firmware.Type);
            Assert.AreEqual(434731, bundle.Manifest.Firmware.Size);

            Assert.IsTrue(bundle.HasResources);
            Assert.IsNotNull(bundle.Resources);
        }
示例#3
0
        private async void OnUpdateFirmware()
        {
            var openDialog = new OpenFileDialog
            {
                CheckFileExists = true,
                CheckPathExists = true,
                DefaultExt = "*.pbz",
                Filter = "Pebble Firmware|*.pbz|All Files|*",
                RestoreDirectory = true,
                Title = "Pebble Firmware"
            };
            if (openDialog.ShowDialog() == true)
            {
                var bundle = new FirmwareBundle();
                using (var zip = new Zip.Zip())
                {
                    bundle.Load(openDialog.OpenFile(), zip);
                }

                if (_pebble.IsAlive == false)
                    return;
                await _pebble.InstallFirmwareAsync(bundle);
            }
        }