public FPGAResponse Program(string bitfile) { var b = _manager.Board; try { var r = b.Program(bitfile); } catch (Exception e) { _logger.LogError(e, "Program失败"); //Electron.Notification.Show(new NotificationOptions("馄饨FPGA", "Program失败")); return(new FPGAResponse() { Message = e.Message, Status = false }); } _logger.LogInformation("Program成功"); string logpath = Path.Combine(FPGAManager.GetConfigDir(), "WriteReadLog.txt"); if (System.IO.File.Exists(logpath)) { System.IO.File.Delete(logpath); } //Electron.Notification.Show(new NotificationOptions("馄饨FPGA", "Program成功")); return(new FPGAResponse() { Message = "成功", Status = true }); }
public async Task <FPGAResponse> WriteReadFPGA([FromBody] ushort[] write) { var b = _manager.Board; b.WriteBuffer.Span.Clear(); write.CopyTo(b.WriteBuffer.Span); try { b.WriteReadData(); } catch (Exception e) { _logger.LogError(e, "writereadfpga失败"); return(new FPGAResponse() { Message = e.Message, Status = false }); } ushort[] read = b.ReadBuffer.ToArray(); string logpath = Path.Combine(FPGAManager.GetConfigDir(), "WriteReadLog.txt"); var log = new FileStream(logpath, FileMode.Append, FileAccess.Write); var writer = new StreamWriter(log); await writer.WriteAsync("Write:"); foreach (ushort i in write) { await writer.WriteAsync(i + " "); } await writer.WriteAsync("\nRead:"); foreach (ushort i in read) { await writer.WriteAsync(i + " "); } await writer.WriteAsync("\n"); writer.Close(); log.Close(); return(new FPGAResponse() { Message = "成功", Status = true, Data = b.ReadBuffer.ToArray() }); }
public FPGAController(ILogger <FPGAController> logger, FPGAManager manager) { _logger = logger; _manager = manager; inputDict = new Dictionary <string, int>() { { "P151", 0 }, { "P148", 1 }, { "P150", 2 }, { "P152", 3 }, { "P160", 4 }, { "P161", 5 }, { "P162", 6 }, { "P163", 7 }, { "P164", 8 }, { "P165", 9 }, { "P166", 10 }, { "P169", 11 }, { "P173", 12 }, { "P174", 13 }, { "P175", 14 }, { "P191", 15 }, { "P120", 16 }, { "P116", 17 }, { "P115", 18 }, { "P114", 19 }, { "P113", 20 }, { "P112", 21 }, { "P111", 22 }, { "P108", 23 }, { "P102", 24 }, { "P101", 25 }, { "P100", 26 }, { "P97", 27 }, { "P96", 28 }, { "P95", 29 }, { "P89", 30 }, { "P88", 31 }, { "P87", 32 }, { "P86", 33 }, { "P81", 34 }, { "P75", 35 }, { "P74", 36 }, { "P70", 37 }, { "P69", 38 }, { "P68", 39 }, { "P64", 40 }, { "P62", 41 }, { "P61", 42 }, { "P58", 43 }, { "P57", 44 }, { "P49", 45 }, { "P47", 46 }, { "P48", 47 }, { "P192", 48 }, { "P193", 49 }, { "P199", 50 }, { "P200", 51 }, { "P201", 52 }, { "P202", 53 } }; outputDict = new Dictionary <string, int>() { { "P7", 0 }, { "P6", 1 }, { "P5", 2 }, { "P4", 3 }, { "P9", 4 }, { "P8", 5 }, { "P16", 6 }, { "P15", 7 }, { "P11", 8 }, { "P10", 9 }, { "P20", 10 }, { "P18", 11 }, { "P17", 12 }, { "P22", 13 }, { "P21", 14 }, { "P23", 15 }, { "P44", 16 }, { "P45", 17 }, { "P46", 18 }, { "P43", 19 }, { "P40", 20 }, { "P41", 21 }, { "P42", 22 }, { "P33", 23 }, { "P34", 24 }, { "P35", 25 }, { "P36", 26 }, { "P30", 27 }, { "P31", 28 }, { "P24", 29 }, { "P27", 30 }, { "P29", 31 }, { "P110", 32 }, { "P109", 33 }, { "P99", 34 }, { "P98", 35 }, { "P94", 36 }, { "P93", 37 }, { "P84", 38 }, { "P83", 39 }, { "P82", 40 }, { "P73", 41 }, { "P71", 42 }, { "P63", 43 }, { "P60", 44 }, { "P59", 45 }, { "P56", 46 }, { "P55", 47 }, { "P167", 48 }, { "P168", 49 }, { "P176", 50 }, { "P187", 51 }, { "P189", 52 }, { "P194", 53 } }; }
public FPGARpcService(ILogger <FPGARpcService> logger, FPGAManager manager) { _logger = logger; _manager = manager; }
public FPGAController(ILogger <FPGAController> logger, FPGAManager manager) { _logger = logger; _manager = manager; }