/// <summary> /// Converts LtoFlashFeatures to LuigiFeatureFlags. /// </summary> /// <param name="features">The LTO Flash! features to convert.</param> /// <returns>The LTO Flash! feature flags represented as LuigiFeatureFlags.</returns> public static LuigiFeatureFlags ToLuigiFeatureFlags(this LtoFlashFeatures features) { var luigiFeatureFlags = ((FeatureCompatibility)features & FeatureCompatibilityHelpers.ValidFeaturesMask).ToLuigiFeatureFlags(FeatureCategory.LtoFlash); luigiFeatureFlags |= (LuigiFeatureFlags)(((ulong)(features & SaveDataMask) >> SaveDataOffset) << LuigiFeatureFlagsHelpers.JlpFlashMinimumSaveDataSectorsCountOffset); luigiFeatureFlags |= (LuigiFeatureFlags)(((ulong)(features & LtoFlashFeatures.LtoFlashMemoryMapped) >> LtoFlashMemoryMappedOffset) << LuigiFeatureFlagsHelpers.LtoFlashMemoryMapperEnabledOffset); return(luigiFeatureFlags); }
public LtoFlashFeaturesConfigurationPageViewModel() { var selectableOptions = new LtoFlashFeatures[] { LtoFlashFeatures.Incompatible, LtoFlashFeatures.Tolerates, LtoFlashFeatures.Enhances, LtoFlashFeatures.Requires }; AccelerationOptions = new ObservableCollection <ProgramFeatureImageViewModel>(selectableOptions.ToFeatureViewModels(LtoFlashFeatureSet.Data)); selectableOptions = new LtoFlashFeatures[] { LtoFlashFeatures.SaveDataOptional, LtoFlashFeatures.SaveDataRequired }; FlashStorageOptions = new ObservableCollection <ProgramFeatureImageViewModel>(selectableOptions.ToFeatureViewModels(LtoFlashFeatureSet.Data)); selectableOptions = new LtoFlashFeatures[] { LtoFlashFeatures.UsbPortEnhanced, LtoFlashFeatures.UsbPortRequired }; SerialPortOptions = new ObservableCollection <ProgramFeatureImageViewModel>(selectableOptions.ToFeatureViewModels(LtoFlashFeatureSet.Data)); }
/// <inheritdoc /> public IProgramFeaturesBuilder WithLtoFlashFeatures(LtoFlashFeatures ltoFlashFeatures) { _programFeatures.LtoFlash = ltoFlashFeatures; return(this); }