Beispiel #1
0
 private void ReadConfigurationAndShowResult(Func <BackgroundWorker, byte[]> configurationProvider)
 {
     ShowWelcomeScreen(LocalizableStrings.MessageDownloadingSettings);
     try
     {
         var readResult = ReadBinaryConfiguration(configurationProvider, false);
         m_deviceConfiguration = readResult.Configuration;
         if (readResult.Result == ReadResult.Success)
         {
             OpenWorkspace(readResult.Configuration);
         }
         else if (readResult.Result == ReadResult.OutdatedFirmware)
         {
             ShowWelcomeScreen(string.Format(LocalizableStrings.MessageConnectDevice, MinimumSupportedBuildNumber));
         }
         else if (readResult.Result == ReadResult.OutdatedToolbox)
         {
             ShowWelcomeScreen(LocalizableStrings.MessageOutdatedToolbox);
         }
         else if (readResult.Result == ReadResult.UnableToRead)
         {
             ShowWelcomeScreen(LocalizableStrings.MessageUnableToReadData);
         }
     }
     catch (Exception ex)
     {
         Trace.Warn(ex);
         ShowWelcomeScreen(LocalizableStrings.MessageUnableToReadData);
     }
 }
Beispiel #2
0
 private void OpenWorkspace(ArcticFoxConfiguration configuration)
 {
     m_deviceConfiguration = configuration;
     UpdateUI(() =>
     {
         InitializeWorkspace();
         MainContainer.SelectedPage = WorkspacePage;
         m_isWorkspaceOpen          = true;
     }, false);
 }
Beispiel #3
0
		private byte[] PrepairConfiguration(byte[] source, ArcticFoxConfiguration existedConfiguration = null)
		{
			var result = BinaryStructure.ReadBinary<ArcticFoxConfiguration>(m_encryption.Decode(source));
			if (existedConfiguration == null)
			{
				SetSharedDeviceInfo(result.Info);
			}
			else
			{
				result.Info = existedConfiguration.Info;
			}
			return BinaryStructure.WriteBinary(result);
		}
        public void Initialize([NotNull] ArcticFoxConfiguration configuration, int profileIndex)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException("configuration");
            }

            m_configuration = configuration;
            m_profile       = configuration.General.Profiles[profileIndex];

            ProfileEnabledCheckBox.Checked = m_profile.Flags.IsEnabled;
            ProfileNameTextBox.Text        = m_profile.Name;
            PowerUpDown.Maximum            = configuration.Info.MaxDevicePower / 10m;
            PowerUpDown.SetValue(m_profile.Power / 10m);

            var selectedPreheatType = PreheatTypeComboBox.SelectedItem as NamedItemContainer <ArcticFoxConfiguration.PreheatType>;

            if (selectedPreheatType != null && selectedPreheatType.Data == m_profile.PreheatType)
            {
                PreheatTypeComboBox_SelectedValueChanged(null, EventArgs.Empty);
            }
            else
            {
                PreheatTypeComboBox.SelectItem(m_profile.PreheatType);
            }

            PowerCurveComboBox.SelectItem(m_profile.SelectedCurve);
            PreheatTimeUpDown.SetValue(m_profile.PreheatTime / 100m);
            PreheatDelayUpDown.SetValue(m_profile.PreheatDelay);

            ResistanceLockedCheckBox_CheckedChanged(null, EventArgs.Empty);

            TemperatureTypeComboBox.SelectItem(m_profile.Flags.IsCelcius);
            TemperatureUpDown.SetValue(m_profile.Temperature);
            TemperatureDominantCheckBox.Checked = m_profile.Flags.IsTemperatureDominant;

            if (m_profile.Flags.Material == ArcticFoxConfiguration.Material.VariWatt)
            {
                MaterialComboBox.SelectedIndex = 0;
                ModeComboBox.SelectItem(Mode.Power);
            }
            else
            {
                MaterialComboBox.SelectItem(m_profile.Flags.Material);
                ModeComboBox.SelectItem(Mode.TemperatureControl);
            }

            TCRUpDown.SetValue(m_profile.TCR);
            ResistanceUpDown.SetValue(m_profile.Resistance / 1000m);
            ResistanceLockedCheckBox.Checked = m_profile.Flags.IsResistanceLocked;
        }
Beispiel #5
0
        private void OpenConfigurationFile(ArcticFoxConfiguration existedConfiguration)
        {
            string fileName;

            using (var op = new OpenFileDialog {
                Filter = FileFilters.ArcticFoxConfigFilter
            })
            {
                if (op.ShowDialog() != DialogResult.OK)
                {
                    return;
                }
                fileName = op.FileName;
            }

            try
            {
                var existedInfoBlock = existedConfiguration != null?existedConfiguration.Info.Copy() : null;

                var result = existedConfiguration ?? BinaryStructure.ReadBinary <ArcticFoxConfiguration>(m_encryption.Decode(Resources.new_configuration));
                var serializableConfiguration = Serializer.Read <SerializableConfiguration>(new MemoryStream(m_encryption.Decode(File.ReadAllBytes(fileName))));
                if (serializableConfiguration == null)
                {
                    InfoBox.Show("Most likely you are trying to open an obsolete configuration file. This operation is not supported.");
                    return;
                }
                BinaryStructure.ReadFromDictionary(result, serializableConfiguration.GetDictionary());
                if (existedInfoBlock != null)
                {
                    result.Info = existedInfoBlock;
                }
                else
                {
                    SetSharedDeviceInfo(result.Info);
                }
                OpenWorkspace(result);
            }
            catch (Exception ex)
            {
                Trace.Info(ex, "An error occurred during reading saved configuration file.");
                InfoBox.Show("Most likely you are trying to open an obsolete configuration file. This operation is not supported.");
            }
        }
Beispiel #6
0
 private void DownloadSettings()
 {
     try
     {
         var readResult = ReadBinaryConfiguration(m_deviceConfigurationProvider);
         if (readResult.Result != ReadResult.Success)
         {
             InfoBox.Show("Something strange happened! Please restart application.");
             return;
         }
         m_deviceConfiguration = readResult.Configuration;
         UpdateUI(InitializeWorkspace);
     }
     catch (Exception ex)
     {
         Trace.Warn(ex);
         InfoBox.Show(GetErrorMessage("downloading settings"));
     }
 }
Beispiel #7
0
 public ConfigurationReadResult(ArcticFoxConfiguration configuration, ReadResult result)
 {
     Configuration = configuration;
     Result        = result;
 }