public MainWindow () : base (Gtk.WindowType.Toplevel) { Build (); lcdDrawingarea.SetSizeRequest(178, 128); //Set stubs lcdStub = new LcdStub (lcdDrawingarea); brickStub = new BrickStub (); brickStub.OnShutDown += OnShutDown; Lcd.Instance = lcdStub; Buttons.Instance = buttonsStub; ProgramManager.Instance = programManagerStub; FirmwareSettings.Instance = firmwareSettings; WiFiDevice.Instance = wiFiStub; UpdateHelper.Instance = updateHelperStub; Brick.Instance = brickStub; //Load and apply simulator settings simulatorSettings = new SimulatorSettings (); simulatorSettings.Load (); simulatorSettings.Save (); ApplySettings (); //Setup settings changed handler watcher.Path = Directory.GetCurrentDirectory(); watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite| NotifyFilters.CreationTime; watcher.Filter = simulatorSettings.SettingsFileName; watcher.Changed += OnSettingsFileChanged; watcher.EnableRaisingEvents = true; lcdDrawingarea.ExposeEvent += LcdExposed; }
protected override string CurrentFirmwareVersion () { System.Threading.Thread.Sleep (100); SimulatorSettings settings = new SimulatorSettings (); settings.Load (); string runningPath = settings.BootSettings.StartUpDir; return Assembly.LoadFrom(Path.Combine(runningPath, "MonoBrickFirmware.dll")).GetName().Version.ToString(); }
public override bool UpdateBootFile () { /* Not yet used need some building XmlDocument doc = new XmlDocument(); doc.Load("EV3MonoBrickSimulator.exe.config"); XmlNode node = doc.SelectSingleNode ("configuration/runtime").FirstChild.FirstChild; node.Attributes [0].Value = GetAvailableFirmware (); doc.Save ("EV3MonoBrickSimulator.exe.config"); */ string newDir = Path.Combine (Directory.GetCurrentDirectory(), GetAvailableFirmware()); SimulatorSettings settings = new SimulatorSettings (); if(settings.Load ()) { settings.BootSettings.StartUpDir = newDir; return settings.Save (); } return false; }