Ejemplo n.º 1
0
        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
            });
        }
Ejemplo n.º 2
0
        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()
            });
        }
Ejemplo n.º 3
0
 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 }
     };
 }
Ejemplo n.º 4
0
 public FPGARpcService(ILogger <FPGARpcService> logger, FPGAManager manager)
 {
     _logger  = logger;
     _manager = manager;
 }
Ejemplo n.º 5
0
 public FPGAController(ILogger <FPGAController> logger, FPGAManager manager)
 {
     _logger  = logger;
     _manager = manager;
 }