Example #1
0
	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;
	}
Example #2
0
		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();
		}
Example #3
0
		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;
		}