static readonly int IN_A_FRAME = 1; // static void Main(string[] args) { // Use program arguments if specified, otherwise use constants // Arguments are in the sequence [[[<lanxi_ip>] <output_time>] <output_time2>] string lanxi_ip = LANXI_IP; int output_time1 = OUTPUT_TIME; int i; if (args.Length >= 1) { lanxi_ip = args[0]; } if (args.Length >= 2) { output_time1 = Convert.ToInt32(args[1]); } LanXIRESTBoundary rest = new LanXIRESTBoundary(lanxi_ip); string state = rest.GetRecorderState(); if (state.Equals("Idle")) { // Open recorder application rest.PutRequestWithPath("/rest/rec/open", null); rest.WaitForRecorderState("RecorderOpened"); // Prepare generator string outputChannelStart = File.ReadAllText(@"OutputGenerator_OutputChannelStart.json"); string outputChannelConfiguration; for (i = 0; i < 8; i++) { rest.PutRequestWithPath("/rest/rec/generator/prepare", outputChannelStart); //prepare, when channging signal type // Configure generator channel switch (i) { case 0: //rember to set input channel to DC outputChannelConfiguration = File.ReadAllText(@"OutputGenerator_OutputChannelSetupDC.json"); break; case 1: outputChannelConfiguration = File.ReadAllText(@"OutputGenerator_OutputChannelSetupSine.json"); break; case 2: //direction UP-UP-UP outputChannelConfiguration = File.ReadAllText(@"OutputGenerator_OutputChannelSetupLinSweep.json"); break; case 3: //direction UP-DOWN-UP-DOWN outputChannelConfiguration = File.ReadAllText(@"OutputGenerator_OutputChannelSetupLogSweep.json"); break; case 4: outputChannelConfiguration = File.ReadAllText(@"OutputGenerator_OutputChannelSetupRandom.json"); break; case 5: outputChannelConfiguration = File.ReadAllText(@"OutputGenerator_OutputChannelSetupPseudoRandom.json"); break; case 6: outputChannelConfiguration = File.ReadAllText(@"OutputGenerator_OutputChannelSetupSquare.json"); break; case 7: outputChannelConfiguration = File.ReadAllText(@"OutputGenerator_OutputChannelSetupBurst.json"); break; default: outputChannelConfiguration = File.ReadAllText(@"OutputGenerator_OutputChannelSetupSine.json"); break; } rest.PutRequestWithPath("/rest/rec/generator/output", outputChannelConfiguration); // Start output rest.PutRequestWithPath("/rest/rec/generator/start", outputChannelStart); if (IN_A_FRAME != 0) { rest.PutRequestWithPath("/rest/rec/apply", null); } Thread.Sleep(output_time1); } // Close recorder application rest.PutRequestWithPath("/rest/rec/close", null); } else { Console.WriteLine("Module is not Idle, stat is {0}", state); Thread.Sleep(1000); } }