コード例 #1
0
        public static String SendCmdAndAwaitReply(string cmd, string[] args, IPEndPoint RemoteUdpEndPoint)
        {
            IpcEnvelope ipc = IpcEnvelope.MakeCmd(cmd, args);
            string      rep = SendIpcForReply(ipc, RemoteUdpEndPoint);

            return(rep);
        }
コード例 #2
0
        public static string Cmd2JsonText(string cmd, string[] args)
        {
            IpcEnvelope ipc  = IpcEnvelope.MakeCmd(cmd, args);
            string      json = JsonSerializer.Serialize <IpcEnvelope>(ipc);

            //JObject jso = ipc.ToJson();
            //string json = jso.ToString();
            return(json);
        }
コード例 #3
0
        public static IpcEnvelope MakeCmd(string cmd, string[] args)
        {
            IpcEnvelope ipc = new IpcEnvelope()
            {
                DConVersion        = 3,
                Target             = "shim",
                Caller             = "stanley-aquisition",
                ReceiptRequested   = false,
                CallerCommandIndex = 0,
            };

            ipc.Command = cmd.ToLower();
            ipc.Args    = args.ToArray();
            return(ipc);
        }
コード例 #4
0
 public static string SendIpcForReply(IpcEnvelope ipc, IPEndPoint RemoteUdpEndPoint)
 {
     try
     {
         //JObject jso = ipc.ToJson();
         //    jso.ToString();
         string json = JsonSerializer.Serialize <IpcEnvelope>(ipc);
         var    rep  = SendJsonForReply(json, RemoteUdpEndPoint);
         return(rep);
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
     }
     return("");
 }
コード例 #5
0
        //public JObject ToJson()
        //{
        //    JObject jso = new JObject();
        //    dynamic album = jso;
        //    album.DConVersion = DConVersion;
        //    album.Target = Target;
        //    album.Caller = Caller;
        //    album.Command = Command;
        //    album.ReceiptRequested = ReceiptRequested;
        //    album.CallerCommandIndex = CallerCommandIndex;
        //    album.Args = new JArray(Args);
        //    return jso;
        //}

        public static string SendIpc(IpcEnvelope ipc, IPEndPoint RemoteUdpEndPoint)
        {
            string json = "FAIL to make json";

            try
            {
                //JObject jso = ipc.ToJson();
                //json = jso.ToString();
                json = JsonSerializer.Serialize <IpcEnvelope>(ipc);
                SendJson(json, RemoteUdpEndPoint);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            return(json);
        }
コード例 #6
0
        public static string SendCmd(string cmd, string[] args, IPEndPoint RemoteUdpEndPoint)
        {
            IpcEnvelope ipc = IpcEnvelope.MakeCmd(cmd, args);

            return(SendIpc(ipc, RemoteUdpEndPoint));
        }
コード例 #7
0
        static async Task Main(string[] args)
        {
            var folder       = @"C:\Users\Xela\Downloads\moses191006\A\20191003\";
            var gainfolder   = @"C:\XCounter\RawImages\";
            var gainFileName = "GainScanFile_03-10-2019_03.48.58.raw";
            var fn           = @"191021135414.raw";

            fn = @"JT13-0157_03-10-2019_05.17.14.raw";

            folder = @"C:\Users\Xela\Downloads\moses191006\A\20191004\";
            fn     = "JT13-0999_04-10-2019_02.54.11.raw";

            var fileListText =
                @"C:\Users\Xela\Downloads\moses191006\A\20191003\JT13-0155_03-10-2019_03.15.25.raw
C:\Users\Xela\Downloads\moses191006\A\20191003\JT13-0156_03-10-2019_04.32.04.raw
C:\Users\Xela\Downloads\moses191006\A\20191003\JT13-0156_03-10-2019_04.32.07.raw
C:\Users\Xela\Downloads\moses191006\A\20191003\JT13-0157_03-10-2019_05.00.04.raw
C:\Users\Xela\Downloads\moses191006\A\20191003\JT13-0157_03-10-2019_05.00.07.raw
C:\Users\Xela\Downloads\moses191006\A\20191003\JT13-0157_03-10-2019_05.17.11.raw
C:\Users\Xela\Downloads\moses191006\A\20191003\JT13-0157_03-10-2019_05.17.14.raw
C:\Users\Xela\Downloads\moses191006\A\20191004\JT13-0999_04-10-2019_02.54.11.raw";

            var GainPath = gainfolder + gainFileName;

            //fileListText = @"C:\XCounter\Data\BigStitch\190503092931.raw";
            ////@"C:\XCounter\Data\Gains\190502155431.raw"
            ////,"FixUp"
            ////@"C:\tmp\191021135414.raw";
            //GainPath = @"C:\XCounter\Data\Gains\190502155431.raw";// C:\XCounter\Data\Gains\190502155431.raw";

            //fileListText = @"C:\Users\Xela\Downloads\moses191006\A\20191003\JT13-0157_03-10-2019_05.17.14.raw";
            //GainPath = @"C:\XCounter\RawImages\GainScanFile_03-10-2019_03.48.58.raw";
            //GainPath = @"C:\Users\Xela\Downloads\191023105442.raw";

            //Grotty looking
            fileListText = @"C:\Users\Xela\Downloads\jason 191023\1-AM-L-0004_23-10-2019_01.58.23.raw";
            GainPath     = @"C:\Users\Xela\Downloads\jason 191023\GainScanFile_21-10-2019_01.10.23.raw";

            fileListText = @"C:\Users\Xela\Downloads\jason 191023\1-AML-0001_23-10-2019_11.10.11.raw";//dw
            GainPath     = @"C:\Users\Xela\Downloads\191023105442.raw";

            fileListText = @"H:\butting_1911\butting raw files\191105031958.raw";  // 191105032428.raw";// 191105031640.raw";//dw
            GainPath     = @"H:\butting_1911\butting raw files\191105030424g.raw"; // 191105030031g.raw";

            //fileListText = @"C:\tmp\Jason\shim191106\1-A-ML-0001_06-11-2019_09.35.13.raw";//dw
            //GainPath = @"C:\tmp\Jason\shim191106\GainScanFile_06-11-2019_09.17.36.raw";

            fileListText = @"C:\Users\Xela\Downloads\wetransfer-7adb80\PROC-0001_19-11-2019_04.40.14.raw";
            GainPath     = @"C:\Users\Xela\Downloads\wetransfer-7adb80\36x762(1).raw";

            fileListText = @"H:\ProjectData\Stanley\wetransfer-3b040c\PROC-0002_21-11-2019_12.19.15.raw
H:\ProjectData\Stanley\wetransfer-3b040c\PROC-0003_21-11-2019_03.46.06.raw
H:\ProjectData\Stanley\wetransfer-3b040c\RTR IMAGES\PROC-0001_19-11-2019_04.40.14.raw
H:\ProjectData\Stanley\wetransfer-3b040c\RTR IMAGES\PROC-0001_20-11-2019_12.46.34.raw";

            //named variable replace
            var fileListTest = new List <(string, string)>()
            {
                (@"H:\ProjectData\Stanley\wetransfer-3b040c\PROC-0002_21-11-2019_12.19.15.raw", @"H:\ProjectData\Stanley\wetransfer-3b040c\RTR IMAGES\36X762(2)\36X762(2).raw"),
                (@"H:\ProjectData\Stanley\wetransfer-3b040c\PROC-0003_21-11-2019_03.46.06.raw", @"H:\ProjectData\Stanley\wetransfer-3b040c\RTR IMAGES\36X762(2)\36X762(2).raw"),
                (@"H:\ProjectData\Stanley\wetransfer-3b040c\RTR IMAGES\PROC-0001_19-11-2019_04.40.14.raw", @"H:\ProjectData\Stanley\wetransfer-3b040c\RTR IMAGES\36X762(2)\36X762(2).raw"),
                (@"H:\ProjectData\Stanley\wetransfer-3b040c\RTR IMAGES\PROC-0001_20-11-2019_12.46.34.raw", @"H:\ProjectData\Stanley\wetransfer-3b040c\RTR IMAGES\36X762(2)\36X762(2).raw"),
            };


            fileListText = @"H:\ProjectData\Stanley\wetransfer-3b040c\RTR IMAGES\PROC-0001_19-11-2019_04.40.14.raw";
            fileListText = @"H:\ProjectData\Stanley\wetransfer-3b040c\PROC-0002_21-11-2019_12.19.15.raw";
            GainPath     = @"H:\ProjectData\Stanley\wetransfer-3b040c\RTR IMAGES\36X762(2)\36X762(2).raw";
            //GainPath = @"H:\ProjectData\Stanley\wetransfer-3b040c\36X635\36X635.raw";
            //GainPath = @"H:\ProjectData\Stanley\wetransfer-3b040c\RTR IMAGES\36X529B\36X529B.raw";
            //GainPath = @"H:\ProjectData\Stanley\wetransfer-7adb80\36x762(1).raw";

            fileListText = @"C:\tmp\MistrasGianCor.raw";

            fileListText = @"C:\tmp\Jason\1-A-ML-002_03-12-2019_11.47.38.raw";
            GainPath     = @"C:\tmp\Jason\24x375_JM_1203_No filter.raw";

            fileListText = @"C:\tmp\Jason\sw\1AML-001_04-12-2019_10.40.31.raw";
            GainPath     = @"C:\tmp\Jason\sw\20x250_JBARN.raw";//GainScanFile_04-12-2019_10.35.19.raw";
            //GainPath = @"C:\tmp\Jason\sw\GainScanFile_04-12-2019_10.35.19.raw";

            fileListText = @"C:\tmp\ACC-20-2nd.raw"; // ACC12.raw";
            fileListText = @"C:\tmp\ACC-20-2nd.raw"; // ACC12.raw";
            fileListText = @"C:\tmp\LineGain.raw";   // ACC12.raw";
            fileListText = @"C:\tmp\NoGain.raw";     // ACC12.raw";
            GainPath     = @"C:\tmp\Flat.raw";

            fileListText = @"C:\tmp\Jason\TileLineExample200417\PHP SP5-00036_17-04-2020_10.17.09.raw";
            GainPath     = @"C:\tmp\Jason\TileLineExample200417\GainScanFile_17-04-2020_09.19.33.raw";

            fileListText = @"C:\tmp\ForMoses\20190620\SW-001_20-06-2019_03.12.03.raw";
            GainPath     = @"H:\ProjectData\Stanley\Jason\wetransfer-ab9748\GainScanFile_25-06-2019_11.07.34.raw";

            fileListText = @"C:\tmp\Moses20200724\MLS-0002-D_20-07-2020_09.09.08.raw";
            //fileListText = @"C:\tmp\Moses20200724\MLS-0001-D_20-07-2020_08.49.26.raw";
            GainPath     = @"C:\tmp\Moses20200724\GainScanFile_19-07-2020_10.24.31.raw";
            fileListText = @"C:\Test\Thor\Raw\MLS-0002-D_20-07-2020_09.09.08.raw";
            GainPath     = @"C:\Test\Thor\Gain\GainScanFile_19-07-2020_10.24.31.raw";
            ////////////////////////////////////////////////////////////////////////////////
            ///


            fileListText = @"C:\Test\Thor\Raw\36x500_1111_NewShim.raw";
            fileListText = @"C:\Test\Thor\Raw\1-AML-0001_11-11-2020_02.31.52.raw";
            fileListText = @"C:\Test\Thor\Raw\1-AML-0002_11-11-2020_02.47.34.raw";
            // fileListText = @"C:\Test\Thor\Raw\1-AML-0003_11-11-2020_02.59.46.raw";
            GainPath = @"C:\Test\Thor\Gain\GainScanFile_11-11-2020_02.20.05.raw";



            const int UdpIpcPort            = 0x4153;
            var       ShimIpAddress         = IPAddress.Loopback;
            var       ShimExternalIpAddress = "192.168.184.30";
            var       SendDataToShimIpAddressToRemoteConnect = IPAddress.Parse(ShimExternalIpAddress);
            var       ShimUdpIpcIpAddressToRemoteConnect     = ShimIpAddress;
            var       RecvDataIpAddressToLocalBind           = IPAddress.Loopback;
            //"192.168.32.24";


            var fileList = fileListText.Split('\n').Select(sx => sx.Trim()).ToList();

            if (args.Count() >= 2)
            {
                fileList.Clear();
                fileList.AddRange(args);
                GainPath = args.Last();
            }

            //rawfolder = @"C:\XCounter\RawImages\";
            //folder = rawfolder;
            //gainFileName = "191017123647.raw";
            //fn = "191017124101.raw";


            Console.WriteLine("Hello World!");
            var    ShimUdpIpcEndPoint = new IPEndPoint(ShimUdpIpcIpAddressToRemoteConnect, UdpIpcPort);
            var    ipc       = IpcEnvelope.MakeCmd("load_raw_gain_file", new string[] { GainPath });
            string sx        = JsonSerializer.Serialize <IpcEnvelope>(ipc);
            string ipcString = IpcEnvelope.Cmd2JsonText("load_raw_gain_file", new string[] { GainPath });

            //string txt1 = IpcEnvelope.SendCmdAndAwaitReply("set_ip", new string[] { "192.168.32.16" }, udpIpcEndPoint);
            //string txt2 = IpcEnvelope.SendCmdAndAwaitReply("set_client_ip", new string[] { "192.168.32.16" }, udpIpcEndPoint);
            string txt3 = IpcEnvelope.SendCmdAndAwaitReply("load_raw_gain_file", new string[] { GainPath }, ShimUdpIpcEndPoint);
            string txt4 = IpcEnvelope.SendJsonForReply(OnlyDeliverJson, ShimUdpIpcEndPoint);

            //txt4 = IpcEnvelope.SendJsonForReply(GainOnJson, ShimUdpIpcEndPoint);
            txt4 = IpcEnvelope.SendJsonForReply(TileEdgeCorOnJson, ShimUdpIpcEndPoint);
            //txt4 = IpcEnvelope.SendJsonForReply(BltFilterCorOnJson);
            //Console.WriteLine(txt3);
            //Console.WriteLine(ipcString);
            //Console.WriteLine(txt4);
            int x_shift  = -1;
            int y_shift  = +0;
            var IpcFocus = FocusShift.Replace(nameof(x_shift), x_shift.ToString(CultureInfo.InvariantCulture))
                           .Replace(nameof(y_shift), y_shift.ToString(CultureInfo.InvariantCulture));
            string txt5 = IpcEnvelope.SendJsonForReply(IpcFocus, ShimUdpIpcEndPoint);

            Console.WriteLine(txt5);

            //          Task.Delay(3000).Wait();
            //     wh.Set();
            //        Task.Delay(1000).Wait();

            int nFiles = fileList.Count();

            // nFiles = 2;
            for (int i = 0; i < nFiles; i++)
            {
                //string reply = IpcEnvelope.SendCmdAndAwaitReply("load_raw_gain_file", new string[] { rawfolder + gainFileName });
                //Task.Delay(1000).Wait();
                string inputPath  = fileList[i];
                string fnBase     = Path.GetFileNameWithoutExtension(inputPath);
                string outputPath = $@"C:/tmp/a{i}.raw";
                var    sf         = Task.Run(() => StreamDataListener.RunImageDataTcp($@"C:/tmp/{fnBase}.cor.test.raw", RecvDataIpAddressToLocalBind, StreamDataListener.DetectorDataPortDefault));
                var    t          = Task.Run(() => ReadFileToShim.CopyRawImageFileToShim(inputPath, SendDataToShimIpAddressToRemoteConnect));
                // @"C:\XCounter\RawImages\1024_16bit_Output.raw");
                Task.WaitAll(sf, t);
            }
        }