public void AddStudent(string StudentName, string Password) { sendType(DataType.AddStudent); sendString(StudentName); Thread.Sleep(3); if (Password.Equals("")) { Password = "******"; } sendString(Password); Fel f = (Fel)GetInt(); if (f == Fel.YES) { if (connected) { string felMedelande = GetString(); MessageBox.Show(felMedelande, "Fel", MessageBoxButtons.OK, MessageBoxIcon.Error); } } Thread.Sleep(3); }
public int GetLastOrder() { int order = 0; sendType(DataType.GetLastOrder); Fel f = (Fel)GetInt(); sendInt(3); if (f == Fel.NO) { order = GetInt(); } else { if (connected) { string felMedelande = GetString(); MessageBox.Show(felMedelande, "Fel", MessageBoxButtons.OK, MessageBoxIcon.Error); } } Thread.Sleep(3); return(order); }
public bool OrderExist(int OrderNr) { sendType(DataType.OrderExist); bool exist = false; GetInt(); sendInt(OrderNr); Fel f = (Fel)GetInt(); sendInt(3); if (f == Fel.NO) { exist = GetBool(); } else { if (connected) { string felMedelande = GetString(); MessageBox.Show(felMedelande, "Fel", MessageBoxButtons.OK, MessageBoxIcon.Error); } } Thread.Sleep(3); return(exist); }
public string[] GetStudent(string ElevNamn) { string[] student = new string[1]; sendType(DataType.GetStudent); sendString(ElevNamn); Fel f = (Fel)GetInt(); if (f == Fel.NO) { string DataString = GetString(); student = DataString.Split('#'); } else { if (connected) { string felMedelande = GetString(); MessageBox.Show(felMedelande, "Fel", MessageBoxButtons.OK, MessageBoxIcon.Error); } } return(student); }
public static void WaitForDevice() { while (!Fel.DeviceExists()) { Thread.Sleep(100); } }
public string[] GetDataFromOrder(int ordNr) { sendType(DataType.GetDataFromOrder); GetInt(); sendInt(ordNr); string[] Data = new string[7]; Fel f = (Fel)GetInt(); sendInt(3); if (f == Fel.NO) { string DataString = GetString(); Data = DataString.Split('#'); } else { if (connected) { string felMedelande = GetString(); MessageBox.Show(felMedelande, "Fel", MessageBoxButtons.OK, MessageBoxIcon.Error); } } Thread.Sleep(3); return(Data); }
public byte[] ReadFlash(Fel fel, byte[] fes, byte[] uboot, UInt32 address, UInt32 length, string what = "NAND") { var size = length; size = (size + Fel.sector_size - 1) / Fel.sector_size; size = size * Fel.sector_size; long maxProgress = (size / 65536), progress = 0; var r = fel.ReadFlash(address, length, delegate(Fel.CurrentAction action, string command) { switch (action) { case Fel.CurrentAction.ReadingMemory: SetStatus("Reading " + what); break; } progress++; SetProgress?.Invoke(Math.Min(progress, maxProgress), maxProgress); } ); return(r); }
public bool Check(string StudentName, string Password) { bool Finns = false; sendType(DataType.Check); sendString(StudentName); GetString(); sendString(Password); Fel f = (Fel)GetInt(); if (f == Fel.NO) { Finns = GetBool(); } else { if (connected) { string felMedelande = GetString(); MessageBox.Show(felMedelande, "Fel", MessageBoxButtons.OK, MessageBoxIcon.Error); } } return(Finns); }
public void SetDataToOrder(int ordNr, string[] data, bool visa) { sendType(DataType.SetDataToOrder); sendInt(ordNr); string DataString = data[0].ToString(); for (int i = 1; i < data.Length; i++) { DataString = DataString + '#' + data[i]; } GetInt(); sendString(DataString); Fel f = (Fel)GetInt(); if (f == Fel.NO && visa) { MessageBox.Show("Datan har sparats :)", "Sparat", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (f == Fel.YES) { if (connected) { string felMedelande = GetString(); MessageBox.Show(felMedelande, "Fel", MessageBoxButtons.OK, MessageBoxIcon.Error); } } Thread.Sleep(3); }
public string[] GetPlaces() { string[] Data = new string[0]; sendType(DataType.GetPlaces); Fel f = (Fel)GetInt(); sendInt(3); if (f == Fel.NO) { string DataString = GetString(); if (!DataString.Equals("NO DATA")) { Data = DataString.Split('#'); } } else { if (connected) { string felMedelande = GetString(); MessageBox.Show(felMedelande, "Fel", MessageBoxButtons.OK, MessageBoxIcon.Error); } } Thread.Sleep(3); return(Data); }
private void timer_Tick(object sender, EventArgs e) { if (Fel.DeviceExists(vid, pid)) { DialogResult = DialogResult.OK; timer.Enabled = false; } }
public void StartThread() { fel = new Fel(); SetProgress(0, 1); try { if (Task != Tasks.DownloadAllCovers) { if (!File.Exists(fes1Path)) { throw new FileNotFoundException(fes1Path + " not found"); } if (!File.Exists(ubootPath)) { throw new FileNotFoundException(ubootPath + " not found"); } fel.Fes1Bin = File.ReadAllBytes(fes1Path); fel.UBootBin = File.ReadAllBytes(ubootPath); fel.Open(vid, pid); SetStatus(Resources.UploadingFes1); fel.InitDram(true); } switch (Task) { case Tasks.DumpKernel: DoKernelDump(); break; case Tasks.FlashKernel: FlashKernel(); break; case Tasks.Memboot: Memboot(); break; case Tasks.DownloadAllCovers: DownloadAllCovers(); break; } Thread.Sleep(1000); DialogResult = DialogResult.OK; } catch (ThreadAbortException) { } catch (Exception ex) { ShowError(ex); } finally { thread = null; if (fel != null) { fel.Close(); fel = null; } } }
private void timer_Tick(object sender, EventArgs e) { if (Fel.DeviceExists()) { DialogResult = DialogResult.OK; timer.Enabled = false; deviceFound = true; Close(); } }
public static bool WaitForDevice(UInt16 vid, UInt16 pid) { if (!Fel.DeviceExists(vid, pid)) { var form = new WaitingForm(vid, pid); form.ShowDialog(); return(form.DialogResult == DialogResult.OK); } return(true); }
public static bool WaitForDevice(UInt16 vid, UInt16 pid, IWin32Window owner) { if (Fel.DeviceExists(vid, pid)) { return(true); } var form = new WaitingFelForm(vid, pid); form.ShowDialog(owner); return(form.DialogResult == DialogResult.OK); }
public void StartThread() { fel = new Fel(); fel.Fes1Bin = Resources.fes1; fel.UBootBin = Resources.uboot; SetProgress(0, 100); try { fel.Open(vid, pid); SetStatus(Resources.UploadingFes1); fel.InitDram(true); switch (Task) { case Tasks.DumpKernel: SetText(Resources.DumpingKernel); DoKernelDump(); break; case Tasks.FlashKernel: if (!string.IsNullOrEmpty(Mod)) { SetText(Resources.FlasingCustom); } else { SetText(Resources.FlasingOriginal); } FlashKernel(); break; case Tasks.Memboot: SetText(Resources.UploadingGames); Memboot(); break; } Thread.Sleep(1000); DialogResult = DialogResult.OK; } catch (ThreadAbortException) { } catch (Exception ex) { ShowError(ex); } finally { thread = null; if (fel != null) { fel.Close(); fel = null; } } }
public void WriteFlash(Fel fel, byte[] fes, byte[] uboot, UInt32 address, byte[] data, bool verify = true, string what = "NAND") { var size = data.LongLength; size = (size + Fel.sector_size - 1) / Fel.sector_size; size = size * Fel.sector_size; if (data.LongLength != size) { var newData = new byte[size]; Array.Copy(data, newData, data.Length); data = newData; } long maxProgress = (size / 65536) * (verify ? 2 : 1), progress = 0; // upload kernel through fel fel.WriteFlash(address, data, delegate(Fel.CurrentAction action, string command) { switch (action) { case Fel.CurrentAction.WritingMemory: SetStatus?.Invoke("Writing " + what); break; } progress++; SetProgress?.Invoke(Math.Min(progress, maxProgress), maxProgress); } ); if (verify) { var r = fel.ReadFlash((UInt32)Fel.kernel_base_f, (UInt32)data.LongLength, delegate(Fel.CurrentAction action, string command) { switch (action) { case Fel.CurrentAction.ReadingMemory: SetStatus("Reading " + what); break; } progress++; SetProgress?.Invoke(Math.Min(progress, maxProgress), maxProgress); } ); if (!data.SequenceEqual(r)) { throw new Exception("Verify failed for " + what); } } }
public void StartThread() { Thread.CurrentThread.CurrentUICulture = new CultureInfo(ConfigIni.Language); SetProgress(0, 1); try { DialogResult = DialogResult.None; Debug.WriteLine("Executing task: " + Task.ToString()); switch (Task) { case Tasks.DumpKernel: DoKernelDump(); break; case Tasks.FlashKernel: FlashKernel(); break; case Tasks.UploadGames: UploadGames(); break; case Tasks.Memboot: Memboot(); break; case Tasks.DownloadAllCovers: DownloadAllCovers(); break; } if (DialogResult == DialogResult.None) { DialogResult = DialogResult.OK; } } catch (ThreadAbortException) { } catch (Exception ex) { ShowError(ex); } finally { thread = null; if (fel != null) { fel.Close(); fel = null; } GC.Collect(); } }
public void WriteFlash(byte[] fes, byte[] uboot, UInt32 address, byte[] data, bool verify = true, string what = "NAND") { var fel = new Fel(); fel.WriteLine += WriteLine; fel.Fes1Bin = fes; fel.UBootBin = uboot; if (!fel.Open()) { throw new Exception("USB Device Not Found"); } WriteFlash(fel, fes, uboot, address, data, verify, what); }
public byte[] ReadFlash(byte[] fes, byte[] uboot, UInt32 address, UInt32 length, string what = "NAND") { var fel = new Fel(); fel.WriteLine += WriteLine; fel.Fes1Bin = fes; fel.UBootBin = uboot; if (!fel.Open()) { throw new Exception("USB Device Not Found"); } return(ReadFlash(fel, fes, uboot, address, length, what)); }
public void RunCommand(byte[] fes, byte[] uboot, string command, bool noreturn = false) { var fel = new Fel(); fel.WriteLine += WriteLine; fel.Fes1Bin = fes; fel.UBootBin = uboot; if (!fel.Open()) { throw new Exception("USB Device Not Found"); } RunCommand(fel, command, noreturn); }
private void WaitingForm_FormClosing(object sender, FormClosingEventArgs e) { if (!Fel.DeviceExists(vid, pid)) { if (Tasks.MessageForm.Show(Resources.AreYouSure, Resources.DoYouWantCancel, Resources.sign_warning, new Tasks.MessageForm.Button[] { Tasks.MessageForm.Button.Yes, Tasks.MessageForm.Button.No }, Tasks.MessageForm.DefaultButton.Button2) == Tasks.MessageForm.Button.No) { e.Cancel = true; } else { DialogResult = DialogResult.Abort; } } }
private void WaitingForm_FormClosing(object sender, FormClosingEventArgs e) { if (!Fel.DeviceExists(vid, pid)) { if (MessageBox.Show(this, Resources.DoYouWantCancel, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == System.Windows.Forms.DialogResult.No) { e.Cancel = true; } else { DialogResult = DialogResult.Abort; } } }
static bool DeviceExists(UInt16 vid, UInt16 pid) { try { using (var fel = new Fel()) { fel.Open(vid, pid); return(true); } } catch { return(false); } }
public void Memboot(byte[] fes, byte[] uboot, byte[] bootImage, Fel.WriteLineHandler writeLineHandler = null) { var fel = new Fel(); fel.WriteLine += WriteLine; fel.Fes1Bin = fes; fel.UBootBin = uboot; if (!fel.Open()) { throw new Exception("USB Device Not Found"); } var size = CalcKernelSize(bootImage); if (size > bootImage.Length || size > Fel.transfer_max_size) { throw new Exception($"Invalid boot image size: {size}"); } size = (size + Fel.sector_size - 1) / Fel.sector_size; size = size * Fel.sector_size; if (bootImage.Length != size) { var newK = new byte[size]; Array.Copy(bootImage, newK, bootImage.Length); bootImage = newK; } long maxProgress = size / 65536, progress = 0; // upload kernel through fel fel.WriteMemory(Fel.transfer_base_m, bootImage, delegate(Fel.CurrentAction action, string command) { switch (action) { case Fel.CurrentAction.WritingMemory: SetStatus?.Invoke("Uploading boot image"); break; } progress++; SetProgress?.Invoke(Math.Min(progress, maxProgress), maxProgress); } ); var bootCommand = string.Format("boota {0:x}", Fel.transfer_base_m); RunCommand(fel, bootCommand, true); }
public void StartThread() { fel = new Fel(); try { fel.Open(vid, pid); switch (Task) { case Tasks.DumpKernel: SetText(Resources.DumpingKernel); DoKernelDump(); break; case Tasks.FlashKernel: if (!string.IsNullOrEmpty(Mod)) { SetText(Resources.FlasingCustom); } else { SetText(Resources.FlasingOriginal); } FlashKernel(); break; case Tasks.Memboot: SetText(Resources.UploadingGames); Memboot(); break; } } catch (ThreadAbortException) { } catch (Exception ex) { ShowError(ex.Message); } finally { thread = null; if (fel != null) { fel.Close(); fel = null; } } }
public void StartThread() { SetProgress(0, 1); try { switch (Task) { case Tasks.DumpKernel: DoKernelDump(); break; case Tasks.FlashKernel: FlashKernel(); break; case Tasks.Memboot: Memboot(); break; case Tasks.DownloadAllCovers: DownloadAllCovers(); break; case Tasks.AddGames: AddGames(GamesToAdd); break; } Thread.Sleep(1000); DialogResult = DialogResult.OK; } catch (ThreadAbortException) { } catch (Exception ex) { ShowError(ex); } finally { thread = null; if (fel != null) { fel.Close(); fel = null; } } GC.Collect(); }
public string[,] GetAllOrder() { sendType(DataType.GetAllOrder); string[,] Data = new string[0, 7]; Fel f = (Fel)GetInt(); if (f == Fel.NO) { string DataString = GetString(); if (!DataString.Equals("NO DATA")) { string[] Ydata = DataString.Split('#'); Data = new string[Ydata.Length, 7]; for (int i = 0; i < Ydata.Length; i++) { string[] Xdata = Ydata[i].Split('?'); Data[i, 0] = Xdata[0]; Data[i, 1] = Xdata[1]; Data[i, 2] = Xdata[2]; Data[i, 3] = Xdata[3]; Data[i, 4] = Xdata[4]; Data[i, 5] = Xdata[5]; Data[i, 6] = Xdata[6]; } } } else { if (connected) { string felMedelande = GetString(); MessageBox.Show(felMedelande, "Fel", MessageBoxButtons.OK, MessageBoxIcon.Error); } } Thread.Sleep(3); return(Data); }
public void StartThread() { fel = new Fel(); fel.Fes1Bin = Resources.fes1; fel.UBootBin = Resources.uboot; SetProgress(0, 100); try { fel.Open(vid, pid); SetStatus(Resources.UploadingFes1); fel.InitDram(true); switch (Task) { case Tasks.DumpKernel: DoKernelDump(); break; case Tasks.FlashKernel: FlashKernel(); break; case Tasks.Memboot: Memboot(); break; } Thread.Sleep(1000); DialogResult = DialogResult.OK; } catch (ThreadAbortException) { } catch (Exception ex) { ShowError(ex); } finally { thread = null; if (fel != null) { fel.Close(); fel = null; } } }
public void AddPlace(string place) { sendType(DataType.AddPlace); sendString(place); Thread.Sleep(3); Fel f = (Fel)GetInt(); if (f == Fel.YES) { if (connected) { string felMedelande = GetString(); MessageBox.Show(felMedelande, "Fel", MessageBoxButtons.OK, MessageBoxIcon.Error); } } Thread.Sleep(3); }