public void TestAtCommandExecutor() { GprsDtuServer _server = new GprsDtuServer(5055); _server.Start(); string dtu = "12345678"; Thread.Sleep(500); if (client.Connect(12345678, "22222222", "127.0.0.2")) { Console.WriteLine("Connected"); } else { Console.WriteLine("ERROR"); } client.OnReceived = (msg, len) => client.Send("OK"); Thread.Sleep(500); GprsDtuConnection conn = (GprsDtuConnection)_server.GetConnection(new DtuNode { DtuCode = dtu }); ATCommand cmd = new EnterConfig(); CommandExecutor ce = new CommandExecutor(); Assert.IsNotNull(conn); if (conn != null && conn.IsAvaliable()) { ATCommandResult r = ce.Execute(conn, cmd); Assert.IsTrue(r.IsOK); } if (conn != null && conn.IsAvaliable()) { cmd = new SetPort("{'port':5008}"); ATCommandResult r = ce.Execute(conn, cmd); Assert.IsTrue(r.IsOK); } if (conn != null && conn.IsAvaliable()) { cmd = new SetPort("{'port':5009"); ATCommandResult r = ce.Execute(conn, cmd); Assert.IsTrue(r.IsOK); } }
private void LetsDoIt(ATTask atTask) { ExecuteResult result = null; if (_context.IsAvaliable()) { ushort timeout = 10; Log.Info("_context valid, start robot"); try { result = new ConfigCommandExecutor().Execute(task, _context, timeout); result.ErrorMsg = "OK"; } catch (Exception ex) { Log.Error(ex.Message); result.ErrorMsg = "FAILED"; } } else { Log.Error("_context Busy, can't run."); result = new ExecuteResult { IsOK = false, ErrorCode = (int)Errors.ERR_NOT_CONNECTED, ErrorMsg = "FAILED", Task = atTask, Elapsed = 0, Finished = DateTime.Now }; foreach (var ac in atTask.AtCommands.AtCommands) { ATCommandResult r = new ATCommandResult(); r.GetJsonResult(ac.ToATString()); result.AddAtResult(r); } result.Task.Status = DACTaskStatus.FAIL; } if (atTask.Consumer != null) { atTask.Consumer(result); } this.Stop(); }